Buffer 与 Mat 互转

Linux系统做音视频开发,很多时候要用到opencv,就需要把图片Buffer数据转换成Mat对象来使用

 

Buffer 转 Mat

Mat Buffer2Mat(unsigned char* buffer, int len)
 {
      vector<unsigned char> img_data(buffer, buffer+len);
      Mat img = imdecode(img_data, IMREAD_ANYCOLOR);
      return img;
 }

 

 

Mat 转 Buffer

Mat src = imread("image.bmp");
std::vector<unsigned char> src_data;
cv::imencode(".jpg", src, src_data); 
unsigned
char* buffer = src_data.data(); int len = src_data.size();

 

posted @ 2024-04-09 13:59  十一的杂文录  阅读(8)  评论(0编辑  收藏  举报