如何在OpenCV中降低图像的分辨率

How to Reduce the Resolution of an Image in OpenCV?

本文关键字:图像 分辨率 OpenCV      更新时间:2023-10-16

所以,我有一张来自数字扫描仪的图像,它的分辨率是2600万像素。我想把图像的分辨率降低到500万像素。

是否可以在不损坏内容的情况下降低图像的分辨率?

如果是,如何在OpenCV实现中减少它?

如有任何帮助,我们将不胜感激。感谢

您可以使用cv2::resize()

resize(src, dst, Size(), factor, factor, interpolation);

这里,可以选择interpolation作为cv::INTER_LANCZOS4以获得最佳插值结果。

factor是采样率,为了从26mp转换到5mp,您可能需要它是2.28

下采样总是会引入一些信息和细节损失。

降低图像的分辨率正是破坏内容的定义。无损图像压缩不会降低图像的分辨率。也就是说,500万像素仍然是一个非常高的分辨率,超过了大多数应用程序的要求。例外情况可能是科学和医学应用。我只想确保你保留原始图像,直到你知道你可以处理结果,并仔细选择你的图像压缩方法来减少伪影。