改变图片的大小(resize)是一项很有用的基本技能,它能让图片拥有我们想要的大小。比如在初学阶段,我们在实践时所用的图片的太大,屏幕上显示时观感不好,可以利用这一项技能把图片变小。
首先读入原图片:
import cv2 as cv
img = cv.imread('d:/OpenCV/market.jpg')
cv.imshow('Image',img)
cv.waitKey(1000)
print(img.shape)
输出是 (800, 1540, 3)。大小偏大,我们想把该图片变小。
接下来利用resize
函数将图片变成我们想要的大小:
resized = cv.resize(img, (700, 375), interpolation=cv.INTER_AREA)
cv.imshow('Resized Image',resized)
cv.waitKey(1000)
print(resized.shape)
上述代码的resize
函数用很多参数,分别如下:
interpolation
设定为cv.INTER_AREA
。值得注意的是,当缩小图片时,cv.INTER_AREA
效果较好,当放大图片时,cv.INTER_CUBIC
或cv.INTER_LINEAR
效果较好。输出是 (375, 700, 3),符合我们的预期。
如果需要,可以将改变大小后的图片进行保存:
cv.imwrite('d:/OpenCV/resized_img',resized)