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

ana*_*y99 3 c++ opencv image

所以,我有一个来自数字扫描仪的图像,其分辨率为26百万像素.我想将图像的分辨率降低到500万像素.

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

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

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

fat*_*ihk 12

你可以使用cv2 :: resize()

resize(src, dst, Size(), factor, factor, interpolation);
Run Code Online (Sandbox Code Playgroud)

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

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

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