今天看代码的时候,感觉有点和自己想的不一样,就是cv2.resize()函数,先给出他的参数:
resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)
一般看到以后会觉得那不就是把原图src resize到dsize的大小吗?后来发现没有这么简单:
给出原图及大小:
import cv2
img = cv2.imread('E:\Poker\\train\cam_image1.jpg')
print(img.shape)
# (270, 480, 3) (height, width, channel)
img1 = cv2.resize(img, (960, 540))
print(img1.shape)
# (540, 960, 3)
img2 = cv2.resize(img, (540, 960))
print(img2.shape)
# (960, 540, 3)
怎么跟我想的简单的resize不一样啊,看过官方文档之后,发现:
dsize里面两个参数的顺序应该对应后面的fx, fy的顺序,所以是cols, rows的顺序,也就是width, height的顺序
要注意的一点就是打印出来的shape是按照(height, width, channel)的顺序,和dsize的顺序是相反的(忽略通道这维)
所以以后自己写的时候要稍微注意一点这儿啦~~