如何在将图像保存在 opencv 中时增加图像的大小 python

How to increase size of an image while saving it in opencv python

我有 python 脚本,可以检测帧中的 personface。首先它检测人,然后通过增加一些图像来保存它的图像。然后它检测那个人图像中的面部并保存面部图像。

因为原来保存的人脸图片都非常小,因为我一开始就缩小了边框的尺寸

frame = imutils.resize(frame, width=500)

这样我就可以获得良好的 fps 和低噪音。这就是为什么在保存图像时,我必须增加它的 widthheight。下面是我使用的代码及其结果:

scale_percent = 220  # percent of original size
width = int(image.shape[1] * scale_percent / 100)
height = int(image.shape[0] * scale_percent / 100)
dim = (width, height)

dim = (width, height)
resized_img = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)

我使用的测试图片是:

调整大小后保存的面部图像:

调整大小后保存的人像:

虽然人像看起来不错,但是人脸图像质量很差。有什么办法可以增加图像的大小(宽度和高度),但仍保持良好的质量。请帮忙。谢谢

试试 INTER_CUBIC 或 INTER_LACZOS4

resized_img = cv2.resize(image, dim, interpolation = cv2.INTER_CUBIC)

我主要从事图像方面的工作,根据我的经验: INTER_NEAREST~INTER_AREA < INTER_CUBIC~INTER_LACZOS4~INTER_LINEAR

但是,当您执行任何这些操作时,仍然会有一些像素化,因为您正在处理原始图像数据。