如何在OpenCV Python中保存图像时增加图像大小

时间:2019-11-13 10:34:51

标签: python opencv image-resizing

我有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)

我正在使用的测试图像是:

enter image description here

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

enter image description here

以及调整后的人的保存图像:

enter image description here

尽管人像看起来不错,但是脸部图像的质量很低。有什么可能的方法,以便我们可以增加图像的大小(宽度和高度),但仍保持高质量。请帮忙。谢谢

1 个答案:

答案 0 :(得分:1)

尝试使用INTER_CUBIC或INTER_LACZOS4

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

根据我的经验,我主要从事图像工作: INTER_NEAREST〜INTER_AREA

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