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

标签 c++ image opencv

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

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

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

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

最佳答案

您可以使用 cv2::resize()

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

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

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

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

关于c++ - 如何降低 OpenCV 中图像的分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17343469/

相关文章:

c++11 decltype 返回引用类型

c# - 使用 .NET MVC Controller 操作作为 HTML <img> 的源

java - 在 Swing 中显示图形时遇到问题

c++ - 当 const 指针用作函数的参数时

c++ - 使用正则表达式在 visual studio 中选择由双换行符分隔的文本 block

android - 使用 Gmail 应用程序共享图像不起作用

python-3.x - 读取RGB原始输入,转换为openCV对象,然后转换为.JPEG字节-不带PIL

python - 如何标记 OpenCV 中两个数组中都存在的特征?

macos - OpenCV——记录浏览器窗口而不是捕获相机输出?

c++ - 类型转换/回调函数