利用opencv把jpg图片转化成yuv数据的几行代码备份

 1 sprintf(imagepath, "/mnt/md/test/mtcnn/images/%d.jpg", i);
 4 printf("imagepath:%s\n", imagepath);
 5 cv::Mat cv_img = cv::imread(imagepath, 3);
 6 if (cv_img.empty())
 7 {
 8     fprintf(stderr, "cv::imread %s failed\n", imagepath);
 9     return -1;
10 }
11 printf("cv_img.rows:%d\n", cv_img.rows);
12 printf("cv_img.cols:%d\n", cv_img.cols);
13 
14 cv::Mat cv_yuv;
15 cv::cvtColor(cv_img, cv_yuv, COLOR_BGR2YUV_I420);
16 pFrame = (unsigned char *)malloc((cv_img.rows)*(cv_img.cols)*3/2);
17 if(NULL == pFrame)
18 {
19     printf("malloc pFrame memory error\n");
20 }
21 memset(pFrame, 0,(cv_img.rows)*(cv_img.cols)*3/2);    
22 memcpy(pFrame, cv_yuv.data, (cv_img.rows)*(cv_img.cols)*3/2);
23 
24 //如果想得到YUV图片,可以写下来。
25 fp = fopen("./a.yuv", "wb+");
26 if(NULL == fp)
27 {
28     printf("file open error\n");
29     return -1;
30 }
31 fwrite(pFrame, 1, (cv_img.rows)*(cv_img.cols)*3/2, fp);

 

转载于:https://www.cnblogs.com/cumtchw/p/10999133.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值