如何在不损失c ++或opencv图像质量的情况下调整图像大小
How to Resize image without loosing image quality in c++ or opencv
-
我正在做一个项目,为此我需要放大图像。
-
我已经尝试了 OpenCv 库的重新调整大小功能以重新调整大小。但是图像质量会降低。
-
假设我有 136x136 大小的图像,我想将其大小重新调整为 209x209 并具有相同的质量。我该怎么做?
正如评论中所建议的,没有办法增加图像的大小并在像素之间生成新信息。所有调整大小的方法都涉及原始信息之间的某种插值。
如果您查看 OpenCV 文档中的调整大小函数,您将看到以下选项:
- INTER_NEAREST - 最近邻插值
- INTER_LINEAR - 双线性插值(默认使用(
- INTER_AREA - 使用像素区域关系重新采样。它可能是图像抽取的首选方法,因为它可以提供无摩尔纹的结果。但是当图像缩放时,它类似于INTER_NEAREST方法。
- INTER_CUBIC - 4x4 像素邻域上的双三次插值
- INTER_LANCZOS4 - 8x8像素邻域上的Lanczos插值
您可能会发现INTER_CUBIC或INTER_LANCZOS4产生具有更高"质量"的图像。
相关文章:
- 在没有太多条件句的情况下,我如何避免被零除
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 在未初始化映射的情况下,将值插入到映射的映射中
- 如何使用OpenCV从已知的3D点云(在没有I的情况下构建)估计新图像I的相机姿态矩阵
- 如何使用opencv在不丢失像素的情况下对图像进行去扭曲
- 在没有任何外部库的情况下,是否可以在c++/linux的窗口中显示bmp图像
- 在不使用缓冲区的情况下对2个图像进行操作(加法、减法等)
- 视觉C++库,用于在不使用Opencv的情况下将一组图像转换为视频
- QT是否有其他方法可以在没有QTNetworkManager的情况下加载图像
- 如何在不使用外部库的情况下加载到 8 位C++位图图像
- 在不使用opencv函数的情况下将RGB图像转换为HSI图像
- 是否可以使用 opencv 的 imshow 在没有工具栏的情况下显示图像?
- 如何在没有额外分配的情况下从OpenCV矩阵中获取图像数据
- 在没有关于相机的信息的情况下从2个图像进行三维重建
- 如何在不损失c ++或opencv图像质量的情况下调整图像大小
- 如何在不使用准备好的OpenCv函数的情况下在c++中实现对图像的不锐利遮罩
- 我们可以在不使用 c++ 中的任何库的情况下加载、显示和操作图像的矩阵吗?
- 如何在不完全重新加载每帧每个像素的情况下更改图像的 alpha 值/ 优化
- 如何在不更改分辨率的情况下减小图像数据大小
- 在不使用外部库的情况下在c++中读取灰度.jpeg图像