发新帖

[C/VC/C++] [Cv] 如何用OpenCV改变图片的大小?

零下一度 2023-1-5 774

首先读入原图片:

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)


@CSDN



最新回复 (0)
返回
零下一度
主题数
931
帖子数
0
注册排名
1