Opencv-python之圖像的縮放

函數:cv2.resize()
說明:縮放就是改變圖片的大小,這個函數改變圖片的長和寬,或者按一定比例進行變化。

簡單例子:

代碼如下:

<code>import cv2
#導入圖片
img = cv2.imread('1.png')

a0 = img
#縮小0.5倍
a1 = cv2.resize(img,None,fx=0.5, fy=0.5, interpolation = cv2.INTER_CUBIC)
#放大2倍
a2 = cv2.resize(img,None,fx=2, fy=2, interpolation = cv2.INTER_CUBIC)
#放大5倍
a3 = cv2.resize(img,None,fx=5, fy=5, interpolation = cv2.INTER_CUBIC)
#放大10倍
a4 = cv2.resize(img,None,fx=10, fy=10, interpolation = cv2.INTER_CUBIC)

#圖片展示
cv2.imshow('a0',a0)
cv2.imshow('a1',a1)
cv2.imshow('a2',a2)
cv2.imshow('a3',a3)
cv2.imshow('a4',a4)
#關閉所有窗口
cv2.waitKey(0)
cv2.destroyAllWindows()/<code>

我們先導入圖片1(1.png,像素大小41x41)


Opencv-python之圖像的縮放

原圖

經過縮放後,圖片變化如下:


Opencv-python之圖像的縮放

圖中所示,從左到右大小變化如下:原圖、縮小0.5倍,放大2倍,放大5倍,放大10倍

詳解:

cv2.resize(img,None,fx=0.5, fy=0.5, interpolation = cv2.INTER_CUBIC)

img為導入圖片,fx=0.5和 fy=0.5表示縮放0.5倍,cv2.INTER_CUBIC是所採用的方法。

縮放有三種方法:cv2.INTER_AREA 、cv2.INTER_CUBIC 、cv2.INTER_LINEAR
方法不同,效果不同,效果從左到右展示如下:


Opencv-python之圖像的縮放

cv2.INTER_AREA 、cv2.INTER_CUBIC 、cv2.INTER_LINEAR

如果函數這樣表示,cv2.resize(img,None,fx=0.5, fy=0.5),系統默認方法為 cv2.INTER_LINEAR。



分享到:


相關文章: