Python - CV2 改变维度和质量

Posted

技术标签:

【中文标题】Python - CV2 改变维度和质量【英文标题】:Python - CV2 change dimension and quality 【发布时间】:2012-10-10 21:19:38 【问题描述】:

我设法用 Python 和 CV2 库拍了一张照片,但我想改变图像的尺寸,得到一些质量不高的东西,并将其缩小到 640。

我的代码是:

cam = VideoCapture(0)   # 0 -> index of camera
s, img = cam.read()
    if s:    # frame captured without any errors
             imwrite(filename,img) #save image

我尝试过使用set的方法,但它不起作用。

【问题讨论】:

【参考方案1】:

您可以使用 opencv 调整大小:

img = cv2.resize(img, (640, 640))

将分辨率设置为 640x640,或

img = cv2.resize(img, (0,0), fx = 0.5, fy = 0.5)

将图像的每个维度减半。

如果你想要更差的质量,你可以使用模糊(我推荐 Gaussian):

img = cv2.GaussianBlur(img, (15,15), 0)

如果您想要或多或少模糊,请更改 (15,15)(即内核大小)。

如果您想了解有关图像处理的更多信息,我发现这些非常有用:

OpenCV tutorials,

OpenCV image processing

【讨论】:

【参考方案2】:

使用 cv2 调整大小: How to resize an image with OpenCV2.0 and Python2.6

使用 Python 图像库 (PIL) 调整大小: How do I resize an image using PIL and maintain its aspect ratio?

【讨论】:

以上是关于Python - CV2 改变维度和质量的主要内容,如果未能解决你的问题,请参考以下文章

为啥 cv2.imwrite() 会改变图片的颜色?

是啥导致这张卡改变维度? [视频和代码]

Python之cv2

opencv python:ROI 与 泛洪填充

cv2.warpPerspective 导致图像质量下降

仅按日期缓慢改变维度