首页 > Web开发 > 详细

opencv图像压缩与解压(imencode&imdecode)

时间:2020-11-23 19:32:36      阅读:197      评论:0      收藏:0      [点我收藏+]

问题

在工程应用中,通常有需要用网络传输图片的需求,考虑网络带宽的限制,无法直接将原始图片进行传输。

解决

使用opencv中的imencode与imdecode函数进行图像压缩与解压

imencode

Mat img;
int quality = 50; //压缩比率0~100
vector<uint8_t> imageData;
vector<int> compress_params;
compress_params.push_back(IMWRITE_JPEG_QUALITY);
compress_params.push_back(quality);
imencode(".jpg", frame, imageData, compress_params);

imdecode

vector<uint8_t> p_data = imageData;
Mat image = imdecode(p_data,CV_LOAD_IMAGE_COLOR);

包含头文件

#include<opencv2/opencv.hpp>
#include<opencv2/imgcodecs.hpp>
#include<opencv2/imgcodecs/legacy/constants_c.h> //出现CV_LOAD_IMAGE_COLOR未声明错误,通常是这个头文件未被包含

opencv图像压缩与解压(imencode&imdecode)

原文:https://www.cnblogs.com/Daniel-Hu/p/14025423.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!