前言
改变图片的大小(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)