技术专栏
YUV420SP图像char*与OpenCV的Mat格式的相互转换
在嵌入式系统,或者是用作库的接口时,yuv图像一般都是char的格式,而在进行图像处理的时候我们一般都是使用OpenCV的Mat格式。本文记录的是将YUV420SP(planar YUV 40, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)从char转为Mat格式以及从Mat格式转为char。
char转为Mat格式
(1)灰度图像的转换
大多数时候,我们图像处理为了减小计算量,使用灰度图像。以下示例,假设图像宽高分别为iWidth,iHeight,图像数据为chr* yuvData,转换如下:
cv::grayImg(iHeight,iWidth,CV_8UC1,yuvData);
(2)彩色图像的转换
//读取
fIn.read((char*)YUVFrameBuff, size*sizeof(unsigned char));
cv::Mat scrImg(288*3/2, 352, CV_8UC1);
memcpy(scrImg.data,YUVFrameBuff, size*sizeof(unsigned char));
cv::Mat bgrImg;
cv::cvtColor(scrImg, bgrImg, CV_YUV2BGR_I420);
cv::namedWindow("bgrImg");
cv::imshow("bgrImg", bgrImg);
cv::waitKey(10);
需要注意的是,如果不使用memcpy,而采用直接cv::Mat scrImg(288*3/2, 352, CV_8UC1,YUVFrameBuff);的方法,转换出来图像全灰,不知道是什么原因。
Mat格式转char*
(1)灰度图像的转换
灰度图像Mat转char*,我们直接使用scrImg.data指针即可。
(2)彩色图像的转换
unsigned char* pYuvBuf;
pYuvBuf = new unsigned char[2073600];//最大图像为1080P
cv::Mat yuvImg;
cv::cvtColor(srcImg, yuvImg, CV_BGR2YUV_I420);
memcpy(pYuvBuf, yuvImg.data, bufLen*sizeof(unsigned char));
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
3
1
评论
打赏
- 分享
- 举报
评论
0个
手气红包
暂无数据
相关专栏
-
浏览量:7372次2021-05-27 16:16:56
-
浏览量:1238次2024-02-22 15:52:02
-
浏览量:765次2023-04-17 16:07:31
-
浏览量:1174次2023-08-29 15:52:13
-
浏览量:9386次2020-12-18 22:21:10
-
浏览量:4052次2020-08-26 17:39:57
-
浏览量:1123次2023-07-05 10:11:08
-
浏览量:823次2023-12-22 10:53:00
-
浏览量:853次2024-02-22 15:39:36
-
浏览量:1143次2024-01-11 17:32:51
-
浏览量:648次2023-11-30 17:44:37
-
浏览量:1262次2023-10-13 10:07:11
-
浏览量:2638次2024-05-23 13:45:40
-
浏览量:17050次2022-09-29 11:28:45
-
浏览量:2334次2023-11-17 09:00:06
-
浏览量:2573次2020-08-03 19:57:19
-
浏览量:1018次2023-06-03 15:58:55
-
浏览量:7918次2024-01-04 14:35:55
-
浏览量:2893次2020-11-06 17:53:15
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
素心aaa
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注