背景

最近在学习音视频编解码相关知识,其中涉及到了YUV相关知识.
想要将一个YUV420P格式图片的三个分量分别保存出来并且显示.

参考

YUV格式的讲解:
https://www.bilibili.com/video/BV1pT4y1R7SN?p=4https://blog.csdn.net/weixin_41157654/article/details/103994570
https://blog.csdn.net/leixiaohua1020/article/details/50466201

生成YUV图片

.\ffmpeg.exe -i input.jpg -s 640x480 -pix_fmt yuv420p output.yuv
注意这里使用了的图片尺寸要和实际图片尺寸一致,
建议先使用640*480尺寸图片跑通整个流程

分别生成Y/U/V分量图片

//描述: 测试YUV分离
void split_yuv420p(char* inputPath, int width, int height) {FILE* fp_yuv = fopen(inputPath, "rb+");FILE* fp_y = fopen("dog_640x480.y", "wb+");FILE* fp_u = fopen("dog_640x480.u", "wb+");FILE* fp_v = fopen("dog_640x480.v", "wb+");//因为一个y(8)+u/4(2) + v/4(2) = 12bit = 1.5个字节unsigned char* data = (unsigned char*)malloc(width * height * 3 / 2);//整张图片读进来fread(data, 1, width * height * 3 / 2, fp_yuv);//Yfwrite(data, 1, width * height, fp_y);//Ufwrite(data + width * height, 1, width * height / 4, fp_u);//Vfwrite(data + width * height * 5 / 4, 1, width * height / 4, fp_v);//释放资源free(data);fclose(fp_yuv);fclose(fp_y);fclose(fp_u);fclose(fp_v);
}

验证Y/U/V图片数据

下载雷神提供的显示软件

https://blog.csdn.net/leixiaohua1020/article/details/50466201

重点:
x 显示图片的时候,要选择像素格式中的Y分量,即使是查看U/V图片的时候也是如此
x 查看Y分量图片的时候,使用的分辨率是640x480
x 查看U/V分量图片的时候,使用的分辨率是320x240

YUV420P图片分离Y/U/V分量并显示验证相关推荐

  1. YUV像素数据分解为 Y ,U, V分量

    如果视频帧的宽和高分别为w和h,那么一帧YUV420P像素数据一共占用w*h*3/2 Byte的数据.其中前w*h Byte存储Y,接着的w*h*1/4 Byte存储U,最后w*h*1/4 Byte存 ...

  2. 【音视频数据数据处理 1】【YUV篇】分离YUV420P像素数据中的Y、U、V分量

    [音视频数据数据处理 1][YUV篇]分离YUV420P像素数据中的Y.U.V分量 一.YUV420P 数据格式介绍 二.分离YUV420P像素数据中的Y.U.V分量 - 代码实现 三.查看生成的YU ...

  3. 视频图像数据处理一:分离yuv420视频图像的y、u、v分量

    文章目录 函数代码 测试用例 下载 本文介绍了分离yuv420视频图像y.u.v分量的方法,附有详细的代码和图像示例.文中yuv420文件需要使用yuv/rgb播放器才能查看,参考播放器可选择雷神推荐 ...

  4. 读取4:2:0格式YUV序列的Y分量、U分量以及V分量,并分别保存为.yuv格式(matlab实现)

    读取4:2:0格式YUV序列的Y分量.U分量以及V分量,并分别保存为.yuv格式,不多说,具体程序如下: read_Y_U_V.m %% 读取4:2:0格式YUV的Y.U和V分量,然后将三个分量分别保 ...

  5. 图片的高频与低频分量 初识 与 相关博客

    图片的低频与高频分量 初识 图像中的低频信号和高频信号,也叫做低频分量和高频分量. 低频分量对应图像中物体的亮度均匀或变化缓慢的区域: 高频分量对应图像中物体的边缘.细节.噪声. 定义 图像的频率:该 ...

  6. OpenCV+Python 彩色图片的 BGR、灰度图、HSV分量图显示的程序

    OpenCV+Python 彩色图片的 BGR.灰度图.HSV分量图显示的程序 介绍 OpenCV+Python 使用openCV中的split()函数和 cvtColor()函数提取一张彩色图片的B ...

  7. 【Matlab 图像】HSV 空间图片分离器

    [Matlab]HSV 空间图片分离器 代码已上传到 Github 也使用直接下载 最近在图片识别的课题,发现在利用颜色进行目标的分离时,不停的手动更改颜色空间参数太麻烦. 于是从网上查了一下 Mat ...

  8. 掺镝的钒磷酸钇(Y(P,V)O4:Dy3+)稀土发光材料|镝掺杂钒磷酸钇(Y(P,V)O4:Dy^3+)纳米晶-齐岳生物wyf

    掺镝的钒磷酸钇(Y(P,V)O4:Dy3+)稀土发光材料|镝掺杂钒磷酸钇(Y(P,V)O4:Dy^3+)纳米晶-齐岳生物wyf 利用燃烧法和静电纺丝法,分别合成出YPxV1-xO4:Dy3+纳米粒子和 ...

  9. 问题 I: 4.18 join、split  删除字符串s=‘zzz xx y u v w ttt ‘中多余的空白字符,如果有连续多个空白字符,只保留一个。

    问题 I: 4.18 join.split 时间限制: 1 Sec 内存限制: 128 MB 提交: 3507 解决: 2657 [提交] [状态] [讨论版] [命题人:wangbs] 题目描述 4 ...

最新文章

  1. 比特币区块的产生速度为何被设定为10分钟?
  2. 国内研究生不小心跟了一个水货导师是什么样的体验?
  3. 某企业生产系统升级Linux系统及内核
  4. 手表可测血压,耳机支持颈椎保护……这届电子设备越来越“养生”了
  5. HTML语言的一些元素(三)
  6. Java Web - Ajax技术
  7. dedecms右侧悬浮_织梦dedecms网站上添加漂浮广告
  8. Hungary(匈牙利算法)——二分图最大匹配
  9. linux异常 - 弹出界面 eth0:设备eth0似乎不存在
  10. c语言程序设计教程第三版答案9.5,C语言程序设计-第5-9章习题解答.ppt
  11. matlab oj,Matlab习题(1)
  12. 恭喜51CTO视频课程认证讲师、博主李海园喜得姐妹花
  13. 用ISAPI Filter设置HttpOnly属性
  14. python库skimage 图像直方图均衡化、自适应均衡化、对比度拉伸实现
  15. 删除mysql指令_MySQL常用命令学习笔记
  16. Android基础-Content Provider
  17. 电话机器人源码支持独立部署+图文介绍
  18. 5G加速实现沉浸式体验
  19. 非肿瘤体细胞突变可能是临床基因检测新赛道
  20. 等额本金、等额本息工具类(Java版)

热门文章

  1. 洛谷 P2309 loidc,卖卖萌
  2. linux显示usb内容,技术|Linux中显示系统中USB信息的lsusb命令
  3. 最全解析:支付宝钱包系统架构内部揭秘
  4. 《行为经济学》北京大学 孟涓涓
  5. Digital Image Processing Second Edition 图片 Gonzalez
  6. element UI 表格序号倒序
  7. 【JavaWeb】JDBC
  8. 计算机应用基础的课程讨论,计算机应用基础教学探讨
  9. 计算机里的文档怎么设置密码,电脑里的文件夹怎么加密
  10. 资讯--2018年12月与2018年年末总结