在OpenCV中是否有一种替代cv2.resize()的方法来缩小图像



我使用OpenCV和Python来处理AI训练的图像。我需要将图像缩小到32×32像素,但使用cv2.resize()时,图像太吵了。看起来这个函数从图像的每个区域获取单个像素的值,但我需要每个区域的平均值,这样图像的噪声就更小了。有cv2.resize()的替代方案吗?我可以写我自己的函数,但我认为它不会很快。

正如您在cv2.resize文档中看到的,最后一个参数interpolation决定了图像的重新采样方式。另请参阅它的可能值。

默认值为cv2.INTER_LINEAR,表示线性插值。当对图像进行下采样时,它可能会产生模糊/嘈杂的效果。

您可以尝试使用其他插值方法,看看结果是否更适合您的需求
我特别建议您尝试cv2.INTER_NEAREST选项。它将根据源中最近像素的颜色来确定目标像素值。下采样的图像应该是像素化的,但不能模糊
另一个选项是cv2.INTER_AREA,如@fmw42的评论中所述。

最新更新