1.實例1,二維數組行列變化
import cv2
import numpy as np
img=np.ones([2,4,3],dtype=np.uint8)
size=img.shape[:2] #獲取img的行數和列數
rst=cv2.resize(img,size)
print("img.shape=\n",img.shape)
print("img=\n",img)
print("rst.shape=\n",rst.shape)
print("rst=\n",rst)
解釋:第一個數組2行4列,第二個4行2列,從結果來看,resize的參數順序先是列,然後是行,這個正好與shape相反
2.實例2
import cv2
img=cv2.imread("D:/alang.jpg");
rows,cols=img.shape[:2]
size=(int(cols*0.9),int(rows*0.5))
rst=cv2.resize(img,size)
print("img.shape=",img.shape)
print("rst.shape=",rst.shape)
從程序可以看出:
● 列數變爲原來的0.9倍,計算得到481×0.9=432(取整)。
● 行數變爲原來的0.5倍,計算得到493×0.5=246(取整)。
3.實例3
import cv2
img=cv2.imread("D:/alang.jpg")
rst=cv2.resize(img,None,fx=2,fy=0.5)
print("img.shape=",img.shape)
print("rst.shape=",rst.shape)
從程序可以看出:
● fx進行的是水平方向的縮放,將列數變爲原來的2倍,得到481×2=962。
● fy進行的是垂直方向的縮放,將行數變爲原來的0.5倍,得到493×0.5=246。