查看YUV格式文件

article/2025/9/23 3:35:37

RGB图片文件转换为YUV格式后,将YUV数据以二进制形式写到文件中,使用7yuv软件查看。

#include<iostream>
#include<cstdio>
#include<string>
#include"opencv2/opencv.hpp"#include "libyuv/scale.h"
#include "libyuv/convert_from.h"using namespace std;
/*
int I420ToNV21(const uint8* src_y, int src_stride_y,const uint8* src_u, int src_stride_u,const uint8* src_v, int src_stride_v,uint8* dst_y, int dst_stride_y,uint8* dst_vu, int dst_stride_vu,int width, int height);
*/
const std::string strCHE = "../unit_test/testdata/src.jpg";
const std::string strSHAN = "../unit_test/testdata/shan.jpg";
const std::string strTA = "../unit_test/testdata/ta.jpg";int main(int argc, char* argv[])
{cv::Mat src_rgb = cv::imread(strTA);cv::Mat src_yuv_i420;// transform RGB to YUV-I420cv::cvtColor(src_rgb, src_yuv_i420, CV_BGR2YUV_I420);int nWidth_rgb = src_rgb.cols;int nHeight_rgb = src_rgb.rows;int src_stride_y = nWidth_rgb;int src_stride_u = nWidth_rgb / 2;int src_stride_v = nWidth_rgb / 2;int nWidth_yuv = src_yuv_i420.cols;int nHeight_yuv = src_yuv_i420.rows;cv::Mat dst_yuv_nv21(nHeight_rgb * 3 / 2, nWidth_rgb, CV_8UC1);int dst_stride_y = nWidth_rgb;int dst_stride_vu = nWidth_rgb;libyuv::I420ToNV21(src_yuv_i420.data, src_stride_y, src_yuv_i420.data + nWidth_rgb * nHeight_rgb, src_stride_u, src_yuv_i420.data + nWidth_rgb * nHeight_rgb * 5 / 4, src_stride_v,dst_yuv_nv21.data, dst_stride_y, dst_yuv_nv21.data + nWidth_rgb * nHeight_rgb, dst_stride_vu, nWidth_yuv, nHeight_yuv);//cv::imwrite("src_yuv_nv21.jpg", dst_yuv_nv21);FILE* fp = fopen("out_nv21_mat.yuv", "wb");fwrite(dst_yuv_nv21.data, 1, nWidth_yuv * nHeight_yuv * 3 / 2, fp);fclose(fp);fp = NULL;return 0;
}

原图

效果图如下


http://chatgpt.dhexx.cn/article/qLpAUc1u.shtml

相关文章

详解YUV数据格式

在博客园看到有大神写了一篇关于YUV图像格式的博客&#xff0c;图文分析很不错&#xff0c;这里就转载过来了。但排版有些乱&#xff0c;所以我就在原博文的基础上做了一些排版&#xff0c;修改 了一些错误。希望我们能共同进步。come on&#xff01;&#xff01; 一.YUV数据…

YUV格式的图片查看工具YUView 2.13

YUV格式的图片查看工具YUView 2.13 参考资料&#xff1a; Image to YUV (ffmpeg/ImageMagick) 这2个工具可用于音视频格式转换等处理 Image to YUV (ffmpeg/ImageMagick)_hushui的博客-CSDN博客 FFmpeg常用命令/参数 https://blog.csdn.net/weixin_36811328/article/details/88…

YUV文件格式

原文&#xff1a;YUV图像格式的博客 转&#xff1a;https://blog.csdn.net/armwind/article/details/52190123&#xff0c;文章不错特转载过来备忘 一.YUV数据格式的定义和采集方式 1&#xff09;YUV数据格式定义 YUV分为三个分量&#xff0c;“Y”表示明亮度&#xff08;Lu…

关于YUV格式的一些总结

关于YUV格式的一些总结 一、YUV和YCbCr1、定义2、区别和联系 二、不同的采样格式1、YUV4442、YUV4403、YUV4224、YUV4205、YUV4116、YUV410 三、YUV数据排列格式1、四种数据排列方式①Planar Format②Semi-Planar Format③Tiled Semi-Planar Format④Interleaved Format 2、常用…

音视频基础之YUV格式

1 YUV格式 1.1 YUV简介 YUV是一种颜色编码方式&#xff0c;类似于RGB颜色编码方式。YUV将亮度和色度分离&#xff0c;使用Y&#xff08;明亮度&#xff09;、U和V&#xff08;色度、浓度&#xff09;三个分量表示一个颜色。三个分量中UV分量只有颜色信息&#xff0c;如果图像只…

YUV格式与RGB格式

YUV与RGB格式介绍 一、RGB编码格式二、YUV编码格式YUV存储格式&#xff08;分类&#xff09;&#xff1a;YUV采样方式&#xff1a;常见的YUV格式 三、RGB与YUV转换公式 一、RGB编码格式 RGB图像具有三个通道 R、G、B&#xff0c;分别对应红、绿、蓝三个分量&#xff0c;由三个…

YUV数据格式介绍

YUV图像数据格式介绍 1.yuv格式的分类和介绍 2.YUV三个分量的代表含义 Y分量&#xff1a;表示明亮度&#xff08;Luma&#xff09;即灰度值 UY分量&#xff1a;表示色彩和饱和度即图片的颜色 U颜色代表 blue Y 颜色代表red YUV从形式上也可以用YCbCr 表示 3.常见的YUV格式…

YUV 格式详解-史上最全

YUV 格式详解 介绍分类标准具体分类I420&#xff08;属于 YUV 420 Plannar&#xff09;YV12&#xff08;属于 YUV 420 Plannar&#xff09;NV12&#xff08;属于 YUV 420 Semi-Planar&#xff09;NV21&#xff08;属于 YUV 420 Semi-Planar&#xff09;I422&#xff08;属于 YU…

YUV格式说明 YUYV JPEG

YUV420P&#xff0c;Y&#xff0c;U&#xff0c;V三个分量都是平面格式&#xff0c;分为 I420 和 YV12 。 I420 格式和 YV12 格式的不同处在U平面和V平面的位置不同。在I420格式中&#xff0c;U平面紧跟在Y平面之后&#xff0c;然后才是V平面&#xff08;即&#xff1a…

视频YUV格式详解

YUV三种存储格式 yuv按照存储格式的不同分为三类&#xff0c;平面&#xff0c;半平面和打包格式三种格式。其中I420就是一种平面格式。 平面的YUV格式&#xff0c;就是YUV三种分量分别单独的连续存储&#xff0c;不交叉。先连续存储所有像素点的Y&#xff0c;紧接着存储所有像…

YUV图像的常见格式(图示)

摘要 在研究android Camera2 API的时候&#xff0c;涉及到采集视频信息。其中&#xff0c;在采集视频的时候&#xff0c;可以设置多种类型格式的图像数据&#xff0c;其中一个就是yuv_420_888&#xff0c;如果需要进行编码压缩&#xff0c;我们还需要将该格式的数据转转想要的…

YUV图像格式详解

一、YUV格式 YUV格式有两大类&#xff1a;packed(打包)格式和planar(平面)格式。 packed&#xff1a;通常是几个相邻的像素组成一个宏像素&#xff08;macro-pixel&#xff09;&#xff0c;每个像素点的Y、U、V是连续交*存储的。 planar&#xff1a;使用三个数组分开存放Y、…

【图像格式】关于YUV格式的一些总结

关于YUV格式的一些总结 一、YUV和YCbCr 1、定义2、区别和联系 二、不同的采样格式 1、YUV4442、YUV4403、YUV4224、YUV4205、YUV4116、YUV410 三、YUV数据排列格式 1、四种数据排列方式 ①Planar Format②Semi-Planar Format③Tiled Semi-Planar Format④Interleaved Format 2…

YUV数据格式

与 RGB 编码方法类似&#xff0c;YUV 也是一种颜色编码方法。其中“Y”表示明亮度(Luminance 或 Luma)&#xff0c;也就是灰阶值&#xff0c;U 和 V 表示的则是色度(Chrominance 或 Chroma)&#xff0c;分别用 CrCb来表示&#xff0c;作用是描述影像色彩及饱和度&#xff0c;用…

YUV存储格式

YUV存储格式 YUV的存储格式planar&#xff08;中文翻译&#xff1a;平面的&#xff1b;二维的&#xff1b;平坦的&#xff09;packed (中文翻译&#xff1a;挤满塞满) YUV的采样方式存储方式YV12在内存中存储NV12在内存中存储YUYVUYVYYU422PYUV420P YUV420SPYUV420SPYUV420PYU1…

YUV格式到底是什么?

简介 YUV是视频、图片、相机等应用中使用的一类图像格式&#xff0c;实际上是所有“YUV”像素格式共有的颜色空间的名称。 与RGB格式&#xff08;红 - 绿 - 蓝&#xff09;不同&#xff0c;YUV是用一个称为Y&#xff08;相当于灰度&#xff09;的“亮度”分量和两个“色度”分…

YUV格式详解

介绍 我们都知道&#xff0c;YUV是一种表示颜色的模型&#xff0c;另外在大多数情况下&#xff0c;我们所说的YUV与YCbCr是一样的&#xff0c;其中Y指亮度分量&#xff0c;UV和CbCr都是色彩分量。 有一款YUV图像查看工具 YUV Eye &#xff0c;可以使用这个工具查看YUV图像&am…

图像和流媒体 -- 详解YUV数据格式

如需转载请注明出处&#xff1a;https://blog.csdn.net/qq_29350001/article/details/78283369 我们在讲 FFmpeg 系列的时候&#xff0c;有提到 YUV 的。其中包括YUV播放器、简单的YUV格式介绍。 参看&#xff1a;FFmpeg再学习 -- 视音频基础知识 接下来详细研究一下&#x…

YUV格式详解【全】

YUV格式详解 YUVYUV 采样YUV 4:4:4YUV 4:2:2YUV 4:2:0YUV 4:1:1 planar formatPacked (or Interleaved)PlanarSemi-Planar 关系图 YUV 与 RGB 相互转换计算公式推导1. 模拟 RGB转YUV的推导公式2. 数字 RGB to YUV 1. 模拟YUV→模拟RGB2. 数字YUV→数字RGBYUV与RGB的相互转换会损…

LaTeX Error: Unknown option quiet for package fontspec

编译方式错误&#xff0c;fontspec是基于Xe和Le开发的&#xff0c;所以不能使用pdf**进行编译