所以,我有一个数字扫描仪的图像,它的分辨率是26万像素。 我想将图像的分辨率降低到5百万像素。如何降低OpenCV中图像的分辨率?
是否可以降低图像的分辨率而不损坏内容?
如果是,如何在OpenCV实现中降低它?
任何帮助将不胜感激。 Thankyou
所以,我有一个数字扫描仪的图像,它的分辨率是26万像素。 我想将图像的分辨率降低到5百万像素。如何降低OpenCV中图像的分辨率?
是否可以降低图像的分辨率而不损坏内容?
如果是,如何在OpenCV实现中降低它?
任何帮助将不胜感激。 Thankyou
您可以使用cv2::resize()
resize(src, dst, Size(), factor, factor, interpolation);
这里,interpolation
可以选择为cv::INTER_LANCZOS4
获得最佳插值结果。
factor
是采样率,并且为了从26mp转变为5MP您可能需要它是2.28
总是下采样引入了一些信息和细节的损失。
降低图像的分辨率是损坏内容的定义。无损图像压缩不会降低图像的分辨率。这就是说5百万像素仍然是一个非常高的分辨率,而且大多数应用程序都需要。例外情况可能是科学和医疗应用。我会确保您保留原始图像,直到您知道可以使用结果并仔细选择图像压缩方法以减少伪像。
意思是这个还是别的?请更具体一些。 (http://stackoverflow.com/questions/8339077/decrease-image-resolution-in-opencv) – ondrejdee
你是什么意思的“不破坏内容”? – Mikhail
不,这不是我之前的意思,我已经用数字扫描仪扫描了图像。没有涉及相机。我只需要降低图像的分辨率。 – anarchy99