【问题标题】:How to increase size of an image while saving it in opencv python如何在将图像保存在opencv python中的同时增加图像的大小
【发布时间】:2019-11-13 10:34:51
【问题描述】:

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

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

调整大小后保存的人脸图像:

调整大小后保存的人物图像:

虽然人像看起来不错,但人脸图像质量非常低。有什么方法可以让我们增加图像的大小(宽度和高度),但仍然保持良好的质量。请帮忙。谢谢

【问题讨论】:

  • 如果您放大到全尺寸图像的正面,您会看到相同的伪影。 Afaik,有一些有趣的较新的深度学习缩放方法,但不确定它们的实际效果如何。
  • @Micka 我认为你是对的,所以这意味着我们无法调整图像大小并仍然保留良好的像素

标签: python opencv image-resizing


【解决方案1】:

尝试使用 INTER_CUBIC 或 INTER_LACZOS4

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

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

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

【讨论】:

猜你喜欢
  • 2013-11-28
  • 2020-01-25
  • 2012-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-01
  • 2023-03-21
相关资源
最近更新 更多