4

所以,我有一张来自数字扫描仪的图像,它的分辨率是 26 兆像素。我想将图像的分辨率降低到 5 兆像素。

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

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

任何帮助将不胜感激。谢谢

4

2 回答 2

14

您可以使用cv2::resize()

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

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

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

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

于 2013-06-27T13:24:44.283 回答
0

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

于 2013-06-27T13:12:53.807 回答