如何在不更改分辨率的情况下减小图像数据大小
How to reduce image data size without changing its resolution?
我已经尝试了几种减小图像大小的方法,但都失败了。都与此类似:
//Mat frame...
vector<uchar> buff;
vector<int> params;
params.push_back(cv::IMWRITE_JPEG_QUALITY);
params.push_back(50); //Tried any value here, didn't change much
cv::imencode(".jpg", frame, buff, params);
Mat a = cv::imdecode(buff,1);
// a size is bigger than frame's
如何在不改变分辨率的情况下减小图像(垫子对象)的大小?
编辑:
我正在从相机中拍摄帧并制作视频。按原样保存帧会使 1 分钟的视频重量约为 100mb,这是完全不可接受的。如何减小每帧的大小(字节数)?
您需要像 mpeg 这样的视频压缩而不是图像压缩。
另一种方法可能是先模糊图像,然后编码为 jpeg。模糊将减少熵,因此图像可能会更好地压缩。考虑到您对JPEG压缩不满意,要减小图像尺寸,我想您无法逃脱降低质量,模糊可能不是最糟糕的解决方案,这取决于您的问题。
相关文章:
- 在没有太多条件句的情况下,我如何避免被零除
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 在未初始化映射的情况下,将值插入到映射的映射中
- 如何使用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图像