我有python脚本,可以在一个帧中检测person
和face
。首先,它检测到人,然后通过增加一些图像来保存其图像。然后,它会在该人的图像中检测到面部并保存该面部图像。
由于人和脸的原始保存图像很小,因为我最初是在缩小帧的大小
frame = imutils.resize(frame, width=500)
以便获得良好的fps和低噪音。这就是为什么在保存图像时必须增加其width
和height
的原因。以下是我正在使用的代码及其结果:
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)
我正在使用的测试图像是:
调整大小后保存的面部图像:
以及调整后的人的保存图像:
尽管人像看起来不错,但是脸部图像的质量很低。有什么可能的方法,以便我们可以增加图像的大小(宽度和高度),但仍保持高质量。请帮忙。谢谢
答案 0 :(得分:1)
尝试使用INTER_CUBIC或INTER_LACZOS4
resized_img = cv2.resize(image, dim, interpolation = cv2.INTER_CUBIC)
根据我的经验,我主要从事图像工作:
INTER_NEAREST〜INTER_AREA 但是,当您执行任何这些操作时,仍然会有一定程度的像素化,因为您正在处理原始图像数据。