所以,我有一个来自数字扫描仪的图像,其分辨率为26百万像素。 我想将图像的分辨率降低到500万像素。
是否可以在不损坏内容的情况下降低图像分辨率?
如果是,如何在OpenCV实现中减少它?
非常感谢任何帮助。 三江源
答案 0 :(得分:12)
您可以使用cv2::resize()
resize(src, dst, Size(), factor, factor, interpolation);
此处,interpolation
可以选为cv::INTER_LANCZOS4
以获得最佳插值结果。
factor
是采样率,为了从26mp转换为5mp,您可能需要它为2.28
下采样总是会引入一些信息和细节丢失。
答案 1 :(得分:0)
降低图像的分辨率是损坏内容的定义。无损图像压缩不会降低图像的分辨率。据说500万像素仍然是一个非常高的分辨率,超过大多数应用程序应该要求的。例外情况可能是科学和医学应用。我只是确保您保留原件,直到您知道可以使用结果并仔细选择图像压缩方法来减少伪影。