如何用OpenCV改变图片的大小?

前言

改变图片的大小(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_CUBICcv.INTER_LINEAR效果较好。

输出是 (375, 700, 3),符合我们的预期。

如果需要,可以将改变大小后的图片进行保存:

cv.imwrite('d:/OpenCV/resized_img',resized)

你可能感兴趣的:(opencv,计算机视觉,python)