一、YUV420 I420介绍

一种颜色编码方法,在YUV色彩空间中,Y表示亮度信号,U、V表示色度信号;

其YUV排列如下,4个Y分量(2x2)对应一个U和V, Y存放完,接着存放U,U存放完,最后是V分量

二、代码实现(opencv2.4.8)

#include <opencv/highgui.h>
#include <opencv/cv.h>
#include <opencv2/imgproc/imgproc_c.h> using namespace cv; int main(int argv, char **argc)
{
IplImage *pstImage = NULL;
IplImage *pstYUVImage = NULL;
FILE *fp = NULL; pstImage = cvLoadImage("D:\\test.jpg", CV_LOAD_IMAGE_COLOR);
fp = fopen("D://out.yuv", "wb");
pstYUVImage = cvCreateImage(cvSize(pstImage->width, pstImage->height), IPL_DEPTH_8U, ); cvCvtColor(pstImage, pstYUVImage, CV_BGR2YUV); for(int i = ; i < pstImage->width * pstImage->height; i++)
{
//提取Y分量
fwrite(&pstYUVImage->imageData[i*], , , fp);
//提取U分量
//fwrite(&pstYUVImage->imageData[i*3+2], 1 , 1, fp);
//提取V分量
//fwrite(&pstYUVImage->imageData[i*3+1], 1 , 1, fp);
} for(int i = ; i < pstImage->height; i = i+)
{
for(int j = ; j < pstImage->width; j= j+)
{
//提取U分量
fwrite(&pstYUVImage->imageData[*(i*pstImage->width + j)+], , , fp);
}
} for(int i = ; i < pstImage->height; i = i+)
{
for(int j = ; j < pstImage->width; j = j+)
{
//提取V分量
fwrite(&pstYUVImage->imageData[*(i*pstImage->width + j)+], , , fp);
}
} cvShowImage("Win", pstImage); cvWaitKey();
cvReleaseImage(&pstImage);
cvReleaseImage(&pstYUVImage);
fclose(fp);
return ;
}

三、查看YUV图像

去本地查看,用7yuv工具查看,格式选择YUV420 I420格式,如下图:



最新文章

  1. spring batch部分
  2. PHP: 手把手编写自己的 MVC 框架实例教程
  3. 高级Javascript调试——console.table()
  4. 怎么写jq插件?
  5. 【Python】 sorted函数
  6. C函数tolower,与toupper
  7. 云服务器 ECS Linux 修改编码格式
  8. 正则表达式删除指定的HTML 标签
  9. myeclipse自动生成注释
  10. Tomcat服务器无法启动socket监听端口
  11. JavaScript数据可视化编程学习(二)Flotr2,雷达图
  12. Cesium基础使用介绍
  13. Java 读书笔记 (十一) Number &amp; Math 类
  14. SD第九届省赛B题 Bullet
  15. 走进Java中的持有对象(容器类)之一 容器分类
  16. jquery.qrcode.js 生成二维码并支持中文的方法
  17. C语言:内存的分配与管理
  18. 编写一个Filter,除继承HttpServlet类外还需要( )。
  19. Mock&amp;Spring集成
  20. 请写出5种常见到的runtime exception。

热门文章

  1. Spring MVC全局异常处理与拦截器校检
  2. Java 中文字符判断 中文标点符号判断
  3. 在Asp.Net MVC中使用ModelBinding构造Array、List、Collection以及Dictionary
  4. PHP--正则表达式和样式匹配--小记
  5. IIS app pools, worker processes, app domains
  6. Linq之select子句
  7. 微信公众平台入门开发教程.Net(C#)框架
  8. Tesseract-OCR引擎 入门
  9. SQL交叉表
  10. 关于html标签和属性的基本理解