由于YUV格式有很多种,那么请问如何判断一个YUV格式的文件属于那一种YUV格式?谢谢! [问题点数:0分]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs3
本版专家分:650
结帖率 96.97%
Bbs2
本版专家分:190
Bbs5
本版专家分:3730
版主
Blank
红花 2010年9月 软件工程/管理大版内专家分月排行榜第一
2010年1月 软件工程/管理大版内专家分月排行榜第一
Bbs5
本版专家分:3928
Bbs3
本版专家分:650
Bbs3
本版专家分:650
Bbs7
本版专家分:20778
Bbs3
本版专家分:650
Bbs3
本版专家分:650
Bbs5
本版专家分:2979
Bbs7
本版专家分:20778
Bbs3
本版专家分:650
Bbs7
本版专家分:20778
详解YUV420数据格式
原文地址:http://www.cnblogs.com/azraelly/archive/2013/01/01/2841269.html 1. <em>YUV</em>简介 <em>YUV</em>定义:分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。 <em>YUV</em><em>格式</em>:
如何知道摄像头输出什么格式的数据,bmp、jpeg还是rgb或者yuv格式
<em>请问</em>如何知道摄像头输出什么<em>格式</em>的数据,是bmp或者jpeg还是rgb或者yuv<em>格式</em>,因为要知道摄像头输出数据的<em>格式</em>,才能确定是不是要进行<em>格式</em>转换,我使用H.264编码库对yuv<em>格式</em>数据进行编码然后传输
RGB、YUV转RAW数据格式
大家使用过RGB或<em>YUV</em>数据<em>格式</em>转化RAW<em>格式</em>吗?有没有什么相应的转化算法参考?希望能告知,<em>谢谢</em>!
YUV直接压缩
现在在做视频方面的程序,一般都是把<em>YUV</em>先转换成RGB,然后再使用MPEG4等压缩方法来压缩的,其实可以直接对<em>YUV</em><em>格式</em>进行压缩吗?这样就可以省略了转换的时间和资源! 高手请出招。。。
YUV444,YUV422,YUV420中的4,2,0代表什么意思?
如题!网上看了几篇文章,还是没清楚<em>YUV</em><em>格式</em>,还有后面带的数字难道没有意义吗,请这方面的大神解释解释.
YUV420P格式分析
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
YUV排列
-
YUV数据格式与RGB数据格式
前言:近期有接触到<em>YUV</em>和RGB两种颜色编码<em>格式</em>,稍稍做了个了解,整理了网上的一些资料然后整理了一下,方便自己以后查阅,有描述不正确的地方麻烦大家多多指正。 一、<em>YUV</em>与RGB颜色编码<em>格式</em>     通俗点来理解的话,<em>YUV</em>与RGB都是一种颜色编码方法。当我们采集到图像数据后,一般输出的就是<em>YUV</em><em>格式</em>的数据流,然后再去进行压缩编码等其他步骤来进行数据传输或保存。而最终显示在我们屏幕面前,通常又是...
mac:使用VLC播放纯视频YUV文件(命令行)
有时候,我们需要播放一些纯视频<em>文件</em>,<em>判断</em><em>YUV</em>数据是否可用。举个例子,我们使用命令行播放/Users/lz目录下的test_yuv420p_320x180.yuv<em>文件</em>,命令如下: /Applications/VLC.app/Contents/MacOS/VLC --demux rawvideo --rawvid-fps 25 --rawvid-width 320 --rawvid-height ...
我在网上找了个bmp转YUV的程序进行修改,但读不出数据,不知什么问题,有谁懂的请帮忙看下,谢谢
#include #include #include "bmp2rgb.h" u_int8_t BMP2RGB(BITMAPFILEHEADER file_header,BITMAPINFOHEADER info_header, FILE* bmpFile, u_int8_t* rgbBuf);//24bit RGB u_int8_t RGB24To<em>YUV</em>420(int Width,int Height,u_int8_t* rgbBuf,u_int8_t*YuvBuffer); #define max(a,b) (((a)>(b))?(a):(b)) #define min(a,b) (((a) < (b)) ? (a) : (b)) int main(int argc, char** argv) { //设置命令行参数 argv[1]= "boot_logo.bmp"; argv[2]="boot_logo.yuv"; //相当于设置<em>文件</em>名 char* bmpFileName = argv[1]; char* yuvFileName = argv[2]; //打开<em>文件</em> FILE* bmpFile = fopen(bmpFileName, "rb"); if (bmpFile == NULL) { printf(" Open the BMP file.\n"); exit(1); } else { printf("The BMP file is %s\n", bmpFileName); } FILE* yuvFile = fopen(yuvFileName, "wb"); if (yuvFile == NULL) { printf("Cannot open the <em>YUV</em> file.\n"); exit(1); } else { printf("The <em>YUV</em> file is %s\n", yuvFileName); } //读取BMP<em>文件</em>头,信息头,读取错误时的处理代码 BITMAPFILEHEADER file_header; BITMAPINFOHEADER info_header; if (fread(&file_header, sizeof(BITMAPFILEHEADER), 1, bmpFile) != 1) if (file_header.bfType != 0x4D42) { printf("Not BMP file.\n"); exit(1); } if (fread(&info_header, sizeof(BITMAPINFOHEADER), 1, bmpFile) != 1) { printf("read info header error!"); exit(1); }//结束读取BMP<em>文件</em>头 //读取图像尺寸 int width = info_header.biWidth; int height = info_header.biHeight; //开辟缓冲区 buf u_int8_t* yBuf = (u_int8_t*)malloc(height*width); u_int8_t* uBuf = (u_int8_t*)malloc(height*width / 4); u_int8_t* vBuf = (u_int8_t*)malloc(height*width / 4); u_int8_t* rgbBuf = (u_int8_t*)malloc(height*width * 3); u_int8_t*YuvBuffer =(u_int8_t*)malloc(height*width * 5); if (yBuf == NULL || uBuf == NULL || vBuf == NULL || rgbBuf == NULL || YuvBuffer==NULL) { printf("Not enough memory\n"); exit(1); } //BMP与RGB的转换,得到RGB数据 if (BMP2RGB(file_header, info_header, bmpFile, rgbBuf)) { printf("BMP2RGB error\n"); exit(1); } //RGB与<em>YUV</em>的转换,得到<em>YUV</em>数据 // int flip = 0; /*读取到的图像数据是倒序存放的,flip=0保证了RGB2<em>YUV</em>可以正确地对其转换*/ /* if (RGB2<em>YUV</em>(width, height, rgbBuf, yBuf, uBuf, vBuf, flip)) { printf("RGB2<em>YUV</em> error\n"); exit(1); } //将yuv按顺序写入yuvfile<em>文件</em> fwrite(yBuf, 1, width * height, yuvFile); fwrite(uBuf, 1, (width * height) / 4, yuvFile); fwrite(vBuf, 1, (width * height) / 4, yuvFile);*/ if( RGB24To<em>YUV</em>420( width, height, rgbBuf,YuvBuffer)) { printf("RGB24To<em>YUV</em>420 error\n"); exit(1); } int len=0; len= fwrite(YuvBuffer, 1,sizeof(YuvBuffer), yuvFile); printf("len ==%d byte\n",len); //打印宽高,方便yuv观看程序打开 printf("width is %d", width); printf("\n"); printf("height is %d", height); printf("\n"); //清理内存 free(rgbBuf); free(YuvBuffer); free(yBuf); free(uBuf); free(vBuf); fclose(bmpFile); fclose(yuvFile); return 0; } u_int8_t BMP2RGB(BITMAPFILEHEADER file_header,BITMAPINFOHEADER info_header, FILE* bmpFile, u_int8_t* rgbBuf) { BITMAPFILEHEADER file_h=file_header; BITMAPINFOHEADER info_h=info_header; FILE* pFile =bmpFile; int w=0,h=0; //确定像素的实际点阵数 w = (info_h.biWidth*info_h.biBitCount + 31) / 32 * 4;//w为实际一行的字节数 h = info_h.biHeight;//h为列数 // printf("w==%d,h==%d\n",w,h); //开辟实际字节数量的缓冲区,读数据,一次读取<em>一个</em>字节 u_int8_t* dataBuf = (u_int8_t*)malloc(w*h); /*使用<em>文件</em>头的字节偏移属性bfOffBits 直接把<em>文件</em>指针定位到像素值数据的起始 */ fseek(pFile, file_h.bfOffBits, 0); fread(dataBuf, 1, w*h, pFile); unsigned char* data = dataBuf; u_int8_t* rgb = rgbBuf; //开始写入rgb int i, j; for (j = 0; j < h; j++)//j控制行循环 { for (i = 0; i < w; i += 3)//i控制列循环 { *rgb = data[i + w*j];//B *(rgb + 1) = data[i + w*j + 1];//G *(rgb + 2) = data[i + w*j + 2];//R rgb += 3; } } //释放内存 free(dataBuf); return 0; } /***************************************************************************************************************/ u_int8_t RGB24To<em>YUV</em>420(int Width,int Height,u_int8_t* rgbBuf,u_int8_t*YuvBuffer) { u_int8_t* yuvBuf=YuvBuffer;//<em>YUV</em>空间 int nWidth=Width; int nHeight=Height; /////////////////////下面转换算法是网上查到的 int i, j; u_int8_t*bufY = yuvBuf; u_int8_t*bufU = yuvBuf + nWidth * nHeight; u_int8_t*bufV = bufU + (nWidth* nHeight* 1/4); u_int8_t*Y=bufY; u_int8_t*U=bufU; u_int8_t*V=bufV; u_int8_t*bufRGB; unsigned char y, u, v, r, g, b; if (NULL==rgbBuf) { printf("NULL==rgbBuf\n"); return 1 ; } for (j = 0; j>8) + 16;//16 v = (unsigned char)((-38 * r - 74 * g + 112 * b + 128) >>8) +128 ; //128 u = (unsigned char)((112 * r - 94 * g - 18 * b + 128) >> 8) + 128 ; *(bufY++)=max(0,min(y, 255 )); if (j%2==0&&i%2 ==0) { if (u>255) { u=255; } if (u255) { v = 255; } if (v #include "sys/types.h" #include typedef unsigned long DWORD;//32bit typedef unsigned short WORD;//16bit typedef unsigned long LONG; //32bit typedef struct tagBITMAPFILEHEADER { //0x00~0x01,说明<em>文件</em>的类型 WORD bfType; //0x02~0x05,说明<em>文件</em>的大小,用字节B为单位 DWORD bfSize; //0x06~0x07,保留,设置为0 WORD bfReserved1; //0x08~0x09,保留,设置为0 WORD bfReserved2; //0x0a~0x0d,说明从BITMAP_FILE_HEADER结构开始到实际的图像数据之间的字节偏移量 DWORD bfOffBits; } BITMAPFILEHEADER; typedef struct tagBITMAPINFOHEADER { //0x0e~0x11,说明当前结构体所需字节数 DWORD biSize; //0x12~0x15,以像素为单位说明图像的宽度 LONG biWidth; //0x16~0x19,以像素为单位说明图像的高度 LONG biHeight; //0x1a~0x1b,说明位面数,必须为1 WORD biPlanes; //0x1c~0x1d,说明图像的位深度 WORD biBitCount; //0x1e~0x21,说明图像是否压缩及压缩类型 DWORD biCompression; //0x22~0x25,以字节为单位说明图像大小,必须是4的整数倍 DWORD biSizeImage; //0x26~0x29,目标设备的水平分辨率,像素/米 LONG biXPelsPerMeter; //0x2a~0x2d,目标设备的垂直分辨率,像素/米 LONG biYPelsPerMeter; //0x2e~0x31,说明图像实际用到的颜色数,如果为0,则颜色数为2的biBitCount次方 DWORD biClrUsed; //0x32~0x35,说明对图像显示有重要影响的颜色索引的数目,如果是0,表示都重要。 DWORD biClrImportant; } BITMAPINFOHEADER; ``` 运行环境linux,bmp图片24位 运行结果: The BMP file is boot_logo.bmp The <em>YUV</em> file is boot_logo.yuv len ==8 byte width is 185729024 height is 0
RGB和BGR格式之间怎么转换?
从网上搜的一些方法看不懂: image_buffer = tmp = (unsigned char *)map + m_buf.offsets; for(i =0;i<image_height;i++
YUV与RGB格式转换
<em>YUV</em>与RGB<em>格式</em>转换 转载 2015年11月26日 12:24:43 标签:
YUV RGB 常见视频格式解析
<em>YUV</em> RGB 常见视频<em>格式</em>解析 I420是<em>YUV</em><em>格式</em>的一种,而<em>YUV</em>有packed format(紧缩<em>格式</em>或者叫打包<em>格式</em>)和planar format(平面<em>格式</em>)两种,而I420<em>属于</em>planar format的一种。   同时I420表示了<em>YUV</em>的采样比例4:2:0。4:2:0的<em>YUV</em>并不是说没有V分量,而是指对于每<em>一个</em>行,只有<em>一个</em>U或者V分量。比如第一行里,是YUYYUY,到了
一个显卡接2个显示器,一个VGA,一个HDMI
<em>一个</em>显卡接2个显示器,<em>一个</em>VGA,<em>一个</em>HDMI, 接HDMI的显示器很好,接VGA的显示器很渣,然后2个同时接的时候貌似电脑默认接VGA的显示器是主显示器了,然后开机画面出现在VGA的显示器上了,因为
关于RGB,YUV互换,颜色失真的问题
我想要实现的功能是将RGB转为<em>YUV</em>,<em>YUV</em>输出的大小要为8位整数,我通过下面图片的代码进行转换然后还原,发现图像有失真,不知什么原因呢??求大神指点 ![图片说明](https://img-ask.csdn.net/upload/201503/21/1426930463_889285.jpg)
[转贴]使用 8 位 YUV 格式的视频呈现
使用 8 位 <em>YUV</em> <em>格式</em>的视频呈现 发布日期: 12/9/2004 | 更新日期: 12/9/2004Gary Sullivan 和 Stephen EstropMicrosoft Digital Media Division适用于:Microsoft® Windows®, Microsoft DirectShow®摘要:本文讲述了在 Microsoft Wind
读取YUV文件代码
求教!<em>请问</em>如何使用MATLAB打开<em>YUV</em><em>文件</em>代码呢?<em>谢谢</em>!
查看yuv格式文件的工具,YUVPlayer
查看yuv<em>格式</em><em>文件</em>的工具,使用简单 附带<em>一个</em>yuv<em>格式</em><em>文件</em>test_yuv420p_320x180.yuv,可以打开查看 支持YV12,I<em>YUV</em>(I420) ,YV16 ,YUYV(YUNV,V422
YUV422转成rgb到底错在哪里
官方sdk里说是<em>YUV</em>422的于是我转了<em>一个</em>星期 也找不到问题在哪 // 把*lpdata从yuv422(4:2:2)<em>格式</em>转换为RGB<em>格式</em>; gm_RGBful=new unsigned char;
YUV 格式与 RGB 格式的相互转换公式及C++ 代码
<em>YUV</em> <em>格式</em>与 RGB <em>格式</em>的相互转换公式最近在用的<em>一个</em>工业相机,输出的图像<em>格式</em>是 YUY2 <em>格式</em>。而在电脑上显示时需要 RGB <em>格式</em>,所以就花了些时间在网上查了些相关的资料。说实话,网上关于 <em>YUV</em> 与 RGB <em>格式</em>变换的文章挺多的,本来不需要我再多写这么一篇。但是网上那些文章中给出了各种各样的变换公式,公式的系数又各不相同,让人看了之后越看越糊涂。其实那些文章的公式基本都是对的,只不过因为作者忘
YUV文件格式
#include #include #include int main(){  //读取<em>文件</em>test_yuv420p_320x180.yuv  FILE* fp_yuv=fopen("test_yuv420p_320x180.yuv","rb");  //写入<em>文件</em>frame.yuv  FILE* fp_frame=fopen("frame_320x180_out.yuv
查看YUV格式文件
RGB图片<em>文件</em>转换为<em>YUV</em><em>格式</em>后,将<em>YUV</em>数据以二进制形式写到<em>文件</em>中,使用7yuv软件查看。 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;string&gt; #include"opencv2/opencv.hpp" #include "libyuv/scale.h" #include "libyuv/convert...
.y4m是什么格式?如何将.y4m转化成.yuv?
今天制作<em>YUV</em>对比视频库,在http://media.xiph.org/video/derf/
请问.yuv文件用什么打开?它的文件格式是什么?
<em>请问</em>.yuv<em>文件</em>用什么打开?它的<em>文件</em><em>格式</em>是什么?<em>谢谢</em>!
为什么要进行H264编码要先把数据转换成YUV图像格式的才可以
对视频数据进行H264编码要先转换成<em>YUV</em>图像<em>格式</em>的,而jpeg、mpeg<em>格式</em>的视频数据,不能再用H.264压缩了,除非先解码为yuv<em>格式</em>的数据。 这是为什么呢 希望知道的朋友告诉一下
YUV422转YUV420的算法。。。
VFW采集免驱动USB摄相头的视频, biCompression = 844715353, 在网上看资料介绍是YUY2<em>格式</em>,也就是<em>YUV</em>422 用下面的代码转换后,发送出去; 传入的参数是VFW采集的
视频格式转换yuy2转换成yuv420
我得到的视频数据的<em>格式</em>是yuy2的,现在我想要把它转换成yuv420的,有没有哪个高手给我提供下这个函数。BYTE *data里头存放yuy2的数据,int yuv里头存放转换后的yuv420的数据。
YUV 格式
<em>YUV</em> <em>格式</em> 上图从上到下分别是:原图,Y向量图片,U向量图片,V向量图片。 <em>YUV</em> <em>格式</em>有两大类:Planar(平面<em>格式</em>) 和 Packed(打包<em>格式</em>)。 Planar:先连续存储所有像素点的 Y,紧接着存储所有像素点的 U,随后是所有像素点的 V。相当于将 <em>YUV</em> 拆分成三个平面 (plane) 存储。 Packed:每个像素点的 Y, U, V 是连续交替存储的。 <em>YUV</em> 分为三...
YUV格式分析详解
<em>YUV</em><em>格式</em>分析详解     一,<em>YUV</em>含义   <em>YUV</em><em>格式</em>通常有两大类:打包(packed)<em>格式</em>和平面(planar)<em>格式</em>。前者将<em>YUV</em>分量存放在同<em>一个</em>数组中,通常是几个相邻的像素组成<em>一个</em>宏像素(macro-pixel);而后者使用三个数组分开存放<em>YUV</em>三个分量,就像是<em>一个</em>三维平面一样。   在摄像头之类编程经常是会碰到<em>YUV</em><em>格式</em>,而非大家比较熟悉的RGB<em>格式</em>. 我们可以把<em>YUV</em>看成
我们为什么需要yuv?
对于彩色显示设备来说,我们需要的一直都是rgb颜色,但为啥在内容制作的时候用的是yuv色彩空间了。 两个原因: 1)yuv提取y亮度信号,可以直接给黑白电视使用,兼容黑白电视 2)人对uv的敏感性小于亮度,这样我们适当减少uv的量,而不影响人的感官。所以才会有420 422 444等不同的yuv描述 3)我们说的yuv420实际是ycrcb,yuv真的是太多变种了 4)伴随显示设备分辨率...
急求:如何将YUV码流保存为.yuv格式文件
最近做<em>一个</em>项目,需要通过调用SDK开发包里的回调函数来获取<em>YUV</em><em>格式</em>的视频流,为了验证回调函数是否调用成功,打算将<em>YUV</em>数据保存为yuv<em>格式</em>的<em>文件</em>,并用<em>YUV</em>viewer播放。现在不知道如何将如何将Y
yuv色彩空间下的fpga硬件osd半透明怎么实现
背景: xilinx fpga verilog 语言 实现bt656标准视频输出的半透明osd叠加效果 bt656有效数据部分输出是Cb Y Cr Y Cb Y Cr Y…… osd的YCbCr输入如
YUV420文件的直观解释
如下是<em>一个</em>典型<em>YUV</em>420<em>文件</em>:(320x180) 分解开来看Y/U/V Y                                                                                               U
YUV数据讲解
网上<em>YUV</em>如出一辙都是翻译的: https://msdn.microsoft.com/en-us/library/windows/desktop/dd206750(v=vs.85).aspx <em>YUV</em>有两大类型:planar 和 packed 对于planar的<em>YUV</em> ,先连续存储所有像素点的Y,接着存储所有像素点的U,接着存储像素点的V。 对于packed的<em>YUV</em>,每个像素点的Y,U,V是...
AV视频输出接口类型
转载时请注明出处和作者联系方式:http://blog.csdn.net/mimepp作者联系方式:YU TAO 在这里列一下视频输出的接口类型, 算是<em>一个</em>笔记. 类型 名称 中文名 接头 含义 特点
jpg 怎样转换为YUV 4:2:0 格式
我现在做的是视频方面的东西,想在视频画面加上logo,有一现成的代码是将logo表示为一维数组,再将这些数据读入视频采集的buffer里面,从而实现视频画面显示logo。 遇到的问题是无法将以 jpg
YUV 数据格式详解及python实现
<em>YUV</em> 数据<em>格式</em>概览 <em>YUV</em> 的原理是把亮度与色度分离,使用 Y、U、V 分别表示亮度,以及蓝色通道与亮度的差值和红色通道与亮度的差值。其中 Y 信号分量除了表示亮度 (luma) 信号外,还含有较多的绿色通道量,单纯的 Y 分量可以显示出完整的黑白图像。U、V 分量分别表示蓝 (blue)、红 (red) 分量信号,它们只含有色彩 (chrominance/color) 信息,所以 <em>YUV</em> 也...
用libjpeg-turbo将jpeg图像转为YUV格式
新新手一枚,用libjpeg-turbo将jpeg图像转为<em>YUV</em><em>格式</em>,运行jpeg_create_decompress时返回值为1并跳出,求问大佬们怎么解决
HOWandWHAT:CVBS 与VBS区别与接法?
Hi all, ================ 本人有<em>一个</em>一体机监控摄像头,输出信号是VBS的,如下图 Pin No. Name Level 1 RxD CMOS 5V (low: max 0.8V
YUV格式视频处理小软件YUVTools下载
.yuv<em>格式</em>视频的处理工具,可惜只有30试用版,使用起来很方便的,附上软件及使用说明 相关下载链接://download.csdn.net/download/huyanmengqing/2351360
y4m格式和yuv、bmp格式互转
作为<em>一个</em>从来没做过视频处理的萌新,给我y4m<em>格式</em>的视频真是一脸懵逼 后来尝试了一些笨方法。。。终于至少能拿出来处理了,记录一下 y4m <em>格式</em>介绍:https://wiki.multimedia.cx/index.php/<em>YUV</em>4MPEG2 y4m 与 yuv(yuv420 8bit planar) 互转命令: y4mtoyuv: ffmpeg -i xx.y4m -vsync 0 xx.y...
通过pipe使用ffmpeg推流视频流处理出错
![图片说明](https://img-ask.csdn.net/upload/201903/30/1553946177_807326.jpg) ``` command = ['ffmpeg', '-use_wallclock_as_timestamps', '1', '-y', '-f', 'rawvideo', '-vcodec', 'rawvideo', '-pix_fmt', 'bgr24', '-s', '640*480', '-r', '9', '-i', '-', '-c:v', 'libx264', '-pix_fmt', 'yuv420p', '-preset', 'ultrafast', '-f', 'hls', '-hls_list_size', '9', '-hls_time','2', '/ts/pla.m3u8'] proc = sp.Popen(command, stdin=sp.PIPE) ··· ··· vid = cv2.VideoCapture(0) ··· return_value, frame = vid.read() ··· pipe_frame = frame[:, :, ::-1] proc.stdin.write(pipe_frame.tostring()) ```
DM365/DM355/DM6467上使用的YUV颜色空间说明
比较DM365和DM6467两款芯片在处理<em>YUV</em>图像时的区别,这个对于要处理像TVP5158多通道图像输入或直接播放视频<em>文件</em>时有重要作用。 下图是DM6467的视频接口处理前端 由上图可以看出,模拟视频数据经过解码器处理后输出符合标准(BT656/BT1120)的YCbC
YUV的几种格式
又确认了一下H264的视频<em>格式</em>——H264支持4:2:0的连续或隔行视频的编码和解码   <em>YUV</em>(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(<em>属于</em>PAL)。<em>YUV</em>主要用于优化彩色视频信号的传输,使其向后兼容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的带宽(RGB要求三个独立的视频信号同时传输)。其中“Y”表示明亮度(Luminance或Luma)
编译之后的x264库与y4m测试文件
编译之后的x264库与y4m测试<em>文件</em>,可以免去大家编译x264的时间。
海康视频格式转换问题(YV12转RGB)
愚生在调用海康的视频解码后,输出的是YV12<em>格式</em>的视频,因为要用到OpenCV去处理分析视频,所以想把它转成RGB<em>格式</em>的,然后解码回调后的参数又不知道怎么去用,求大神们指导该怎么转换,或者有没有好的d
这个bmp的RGB转YUV,再用Y值输出灰度图为什么运行不出来?
# <em>谢谢</em>诸位大佬,我觉得没什么毛病了啊…… ``` #include #include #include typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; /* bmp<em>文件</em>头 */ #pragma pack(1) typedef struct BMPFILEHEADER { BYTE bfType; //<em>文件</em>类型,必须是0x424D,即字符“BM” DWORD bSize; // <em>文件</em>的大小 WORD bReserved1; // 保留值,必须设置为0 WORD bReserved2; // 保留值,必须设置为0 DWORD bOffset; // <em>文件</em>头的最后到图像数据位开始的偏移量 }BMPHeader; #pragma pack() /* 位图数据信息结构*/ #pragma pack(1) typedef struct BMP_INFO { DWORD bInfoSize; // 结构的大小 long bWidth; // 图像的宽度 long bHeight; // 图像的高度 WORD bPlanes; // 图像的平面数 WORD bBitCount; // 颜色/像素的位数 DWORD bCompression; // 压缩类型 DWORD bmpImageSize; // DIB数据区的大小,以字节为单位 long bXPelsPerMeter; // 水平分辨率 long bYPelsPerMeter; // 垂直分辨率 DWORD bClrUsed; // 使用的色彩数 DWORD bClrImportant; // 重要的颜色数 }BMPInfo; #pragma pack() /* 彩色表:调色板 */ #pragma pack(1) typedef struct RGB_QUAD { BYTE rgbBlue; // 蓝色强度 BYTE rgbGreen; // 绿色强度 BYTE rgbRed; // 红色强度 BYTE rgbReversed; // 保留值 }RGB; #pragma pack() int main() { FILE *fp,*fg; BMPHeader *fh; BMPInfo *fi; RGB *fq; BYTE data[2000][2000][3]; //存储RGB图像的像素点 BYTE yuv[2000][2000][3]; //yuv BYTE data_gray[2000]; //存储灰度图像的像素点 int i,j,k; printf("%d",0); fp=fopen("test.bmp","rb"); //打开bmp<em>文件</em> if (fp==NULL){ printf("Can't open the file!\n"); return 0; } fh=(BMPHeader*)malloc(sizeof(BMPHeader)); fi=(BMPInfo*)malloc(sizeof(BMPInfo)); //读取位图头结构和信息头 fread(fh,sizeof(BMPHeader),1,fp); fread(fi,sizeof(BMPInfo),1,fp); //修改头信息 fi->bBitCount=8; fi->bmpImageSize=((fi->bWidth*3+3)/4)*4*fi->bHeight; //fi->biClrUsed=256; fh->bOffset=sizeof(BMPHeader)+sizeof(BMPInfo)+256*sizeof(RGB); fh->bSize=fh->bOffset+fi->bmpImageSize; printf("%d",123); for(i=0;ibHeight;i++) //读取RGB图像像素 { for(j=0;jbWidth+3)/4*4;j++) { for(k=0;kbHeight;i++) { for(j=0;jbWidth+3)/4*4;j++) { yuv[i][j][0]=0.299*data[i][j][2]+0.587*data[i][j][1]+0.114*data[i][j][0];//Y yuv[i][j][1]=0.493*(data[i][j][2]-yuv[i][j][0]);//U yuv[i][j][2]=0.877*(data[i][j][2]-yuv[i][j][0]);//V } } /*创建灰色图像*/ fg=fopen("gray.bmp","wb"); if(fg==NULL) printf("Wrong!(write a gray bmp)\n"); //创建调色板 fq=(RGB*)malloc(256*sizeof(RGB)); for(i=0;ibHeight;i++){ //读取yuv中的Y值并写入灰度图 for(j=0;jbWidth+3)/4*4;j++){ data_gray[j]=(int)yuv[i][j][0]; } fwrite(data_gray,j,1,fg); } free(fh); free(fi); free(fq); fclose(fp); fclose(fg); return 0; } ```
YUV文件查看器
<em>YUV</em><em>文件</em>查看器(windows) 支持暂停、开始、跳段。分辨率自识别,可更改,支持帧率查看。 简单方便,无需安装,打开选择<em>文件</em>路径即可使用。
关于YUV转RGB的三个公式,到底应该用哪一个??
网上搜了着三个公式,不知道用哪<em>一个</em> 已经完全懵逼了。。 公式1: * R' = Y' + 1.13983*V' * G' = Y' - 0.39465*U' - 0.58060*V' * B' = Y
rgb到ycrcb的转换
rgb到ycrcb空间的抓换问题: 看到第<em>一个</em>公式为: 原理: 在多媒体计算机中采用的YCrCb彩色空间,数字化后Y:Cb:Cr为8:4:4或8:2:2。为了简化起见,本文从RGB彩色空间转换到YCr
YUV444转YUV420出错,呈绿色
由rgb24提取的rgb分量生成的<em>YUV</em>444图像显示正确。 但由444的<em>YUV</em>分量所转成的420<em>格式</em>的图像却是绿色的。 这是咋回事? 部分代码如下: u = (utemp + utemp + ute
DP转HDMI没有信号
目前开发板有个DP接口,出来是有信号的,单独接DP也是可以看到画面的,但是想转HDMI,用了<em>一个</em>DP转HDMI转接线,就没有信号了,<em>请问</em>这个是什么原因啊?
YUV各种格式所占字节数
<em>YUV</em> is a class of pixel formats used in video applications, including VLC media player. <em>YUV</em> is actually the name of the color space that is common to all "<em>YUV</em>" pixel formats. Contrary to RGB formats ...
图像和流媒体 -- 详解YUV数据格式
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78283369 我们在讲 FFmpeg 系列的时候,有提到 <em>YUV</em> 的。其中包括<em>YUV</em>播放器、简单的<em>YUV</em><em>格式</em>介绍。 参看:FFmpeg再学习 -- 视音频基础知识 接下来详细研究一下: 参看:<em>YUV</em> -- 维基百科 参看:图文详解<em>YUV</em>420数据<em>格式</em> 一、<em>YUV</em>简...
yuv格式查看工具
android平台上运行的yuv<em>格式</em>查看分析工具,支持多种yuv<em>格式</em>。
YUV和YCrCb的差异
转载:http://blog.sina.com.cn/s/blog_4665b35b0100vf6r.html 颜色空间是<em>一个</em>三维坐标系统,每一种颜色由<em>一个</em>点表示。在 RGB 颜色空间中,红,绿,蓝是基本元素。RGB <em>格式</em>是显示器通常使用的<em>格式</em>。在 <em>YUV</em> 空间中,每<em>一个</em>颜色有<em>一个</em>亮度信号 Y,和两个色度信号 U 和 V。亮度信号是强度的感觉,它和色度信号断开,这样的话强度就可以在不影响颜色的情
白平衡的工作原理、作用与YUV、YCbCr的联系与区别
白平衡是<em>一个</em>很抽象的概念:最通俗的理解就是让白色所成的像依然为白色,如果白是白,那其他景物的影像就会接近人眼的色彩视觉习惯。调整白平衡的过程叫做白平衡调整,白平衡调整在前期设备上一般有三种方式:预置白平衡、手动白平衡调整和自动跟踪白平衡调整。通常按照白平衡调整的程序,推动白平衡的调整开关,白平衡调整电路开始工作,自动完成调校工作,并记录调校结果。如果掌握了白平衡的工作原理,那么使用起来会更加有的放
YCrCb知识总结
1. YCrCb<em>格式</em>,给所有像素赋值白色 IplImage* dst=cvCreateImage(cvGetSize(_dst),8,3); for (int i = 0; i &amp;lt; src-&amp;gt;height; i++) //赋值 {    unsigned char* tmp = (unsigned char*)dst-&amp;gt;imageData + i*dst-&amp;gt;widthSt...
YUV和YCrCb差异
最近在研究camera的驱动,经常会看到camera IC输出<em>格式</em>为RGB,<em>YUV</em>/YCrCb,我非常不明白的<em>一个</em>概念就是<em>YUV</em>和YCrCb到底有什么区别?或者说他们是否是同<em>一个</em>概念,只是别名不同而已,因此我在网上搜索了很久,终于得到了<em>一个</em>比较满意的答案。 原文地址:http://forum.eepw.com.cn/thread/84775/1 问题1:什么是<em>YUV</em>? 问题2:<em>YUV</em>,Y
关于RGB与YCrCb
相关概念和算法可以参考链接,感觉这个链接讲的还比较详细: https://wenku.baidu.com/view/9eccd521dd36a32d73758176.html 后续补充。。。
颜色空间YUV简介
颜色空间<em>YUV</em>简介
YUV文件免费下载网址
yuv <em>文件</em>下载地址:http://trace.eas.asu.edu/yuv/index.html 用yuv player播放时请记住下载视频对应的长和宽的数值,播放时需要自己手动填入,否则播放不正确。 yuv player下载地址:http://www.yuvplayer.com/ 作者: P 来源:CSDN 原文:https://blog.csdn.net/qq_24854861/arti...
YUV格式视频文件
提供三个<em>YUV</em>420<em>格式</em>的视频,具体的视频宽高已经在视频名字上面标注,亲测可用
YUV/YIQ色彩空间的转换
(zz) 1前言 自然界的颜色千变万化,为了给颜色<em>一个</em>量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是<em>一个</em>复杂的生理和心理联合作用的过程,所以在不同的应用领域中为了更好更准确的满足各自的需求,就出现了各种各样的色彩空间模型来量化的描述颜色。我们比较常接触到的就包括 RGB / CMYK / YIQ / <em>YUV</em> / HSI等等。 ...
opencv cvcvtcolor函数 将RGB转为YUV
![<em>YUV</em>](https://img-ask.csdn.net/upload/201504/13/1428924331_530409.png) ![RGB](https://img-ask.csdn.net/upload/201504/13/1428924318_594405.png) 转换后图片怎么变成这样了
关于将yuv格式转换为opencv的CvMat格式
<em>请问</em>,我有一段yuv<em>格式</em>的图像,我想把这个图像转换为opencv里的Mat<em>格式</em>,从而尅有使用opencv函数对图像进行操作,应该怎么办?急求!
YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别!!!)
一、 公式:基于BT.601-6       BT601 UV 的坐标图(量化后): (横坐标为u,纵坐标为v,左下角为原点)           通过坐标图我们可以看到UV并不会包含整个坐标系,而是呈<em>一个</em>旋转了一定角度的八边形,  U越大蓝色越蓝,V越大,红色越红。   名词解释: 量化后:   Y~(16,235)   U ~(16-240)   V~(16-240)     量...
ffmpeg编码YUV图像成h264文件 关于时间戳pts的问题!
摄像头采集的每一帧<em>YUV</em>数据通过ffmpeg编码为h264<em>文件</em> avcodec_encode_video2(video_stream->codec,&pkt,pFrame,&got _pkt)循环调用此函数编码每一帧图像 问题:编码时AVFrame的成员pts 该怎么赋值? 以及AVStream->time_base 与 AVStream->codec->time_base 表达的意思有差别吗? 这是雷博的代码: ![图片说明](https://img-ask.csdn.net/upload/201801/12/1515734452_61824.png) 讲解一下这个代码也可以,<em>谢谢</em>
YUYV转RGB888,RGB565
我想用ARM9的板子采集摄像头输出(YUYV<em>格式</em>)的视频,并在LCD(显示<em>格式</em>RGB565)上显示,我下了<em>一个</em>程序,能够实现RGB888显示,为了能在LCD上显示,我把RGB888转换为RGB565,
如何将YUV格式视频数据流转换为MPEG4视频
原来有<em>一个</em>项目:用的天敏VC404P视频数据采集卡采集视频数据,然后传输到远端显示。 现在项目变更要求:同时允许IP摄像头与采集卡视频数据流传输到远端显示,采集卡有一套开发库,但是压缩的过程都是在其内
YUV格式分析
Andrew Huang &amp;lt;bluedrum@163.com&amp;gt; 转载请注明作者及联络方式   在摄像头之类编程经常是会碰到<em>YUV</em><em>格式</em>,而非大家比较熟悉的RGB<em>格式</em>. 我们可以把<em>YUV</em>看成是<em>一个</em>RGB的变种来理解.    <em>YUV</em>的原理是把亮度与色度分离,研究证明,人眼对亮度的敏感超过色度。利用这个原理,可以把色度信息减少一点,人眼也无法查觉这一点。   ...
YUV / RGB 格式分析及快速查表算法设计
作者:刘旭晖 colorant@163.com 转载请注明出处http://blog.csdn.net/colorant/1         前言 自然界的颜色千变万化,为了给颜色<em>一个</em>量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是<em>一个</em>复杂的生理和心理联合作用的过程,所以在不同的应用领域中为了更好更准确的满足各自的需求,就出现了各种各样的
关于YUV420
关于<em>YUV</em>和RGB色彩模型一样,<em>YUV</em>也是被发明来描述色彩的模型。类似的还有CMYK等。RGB 是使用红绿蓝三原色来描述色彩的模型。 <em>YUV</em> 使用亮度和色度来描述色彩的模型。 CMYK 是使用青色Cyan、品红色Magenta、黄色Yellow 来描述色彩的模型。Y:表示的是亮度。UV是色差。<em>YUV</em>又称YCbCr,Cb代表蓝色差量(U),Cr代表红色分量(V),Y不仅有绿分量,还叠加了亮度信息。
RGBA、YUV色彩格式及libyuv的使用
最近一段时间因为工作的需要,要使用到libyuv。因为之前写录制视频的时候,也要用到rgb转yuv,自己结合网上的资料做了个实现,记录了点笔记,现在索性一起整理下。常用的色彩<em>格式</em>常见的色彩<em>格式</em>主要分为两类,一类是RGBA系列,一类是<em>YUV</em>系列。RGBA系列首先就是rgba系列的<em>格式</em>,RGBA色彩主要用于色彩的显示和描述。常见的有RGBA/ARGB/BGRA/ABGR/RGB/BGR。这些<em>格式</em>都比较好
YUV数据格式转换
<em>YUV</em>数据<em>格式</em>转换 1.    <em>YUV</em> 简介
视频流YUV422转RGB24,用RGB24图像显示出来.图像偏绿色不知道怎么优化,求高手支招
视频流<em>YUV</em>422转RGB24,用RGB24图像显示出来.图像偏绿色不知道怎么优化,求高手支招! 下面是<em>YUV</em>422转RGB24的代码: int convert_yuv_to_rgb_pixel(in
YUYV(YUY2)到YUV420P的转化问题
我照着ffmpeg的api-example.c写了<em>一个</em>编码的小程序,现在对<em>YUV</em>420P的数据可以编码了. 但是我的摄像头输出的是YUYV(YUY2)<em>格式</em>的数据,这种数据怎么转化成<em>YUV</em>420P的呢?
YUV图像格式
假设<em>一个</em>分辨率为8*4(w*h)的<em>YUV</em>图像,则内存分布如下:  一、<em>YUV</em>420(<em>YUV</em>420-Package)  二、<em>YUV</em>420P(<em>YUV</em>420-Planar)  1、I420    2、YV12    三、<em>YUV</em>420SP(<em>YUV</em>420-Semeplanar)  1、NV12    2、NV21
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是<em>一个</em>层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
2012年5月系统集成项目管理工程师真题+解析下载
2012上半年系统集成项目管理工程师考试下午试题及参考答案和试题解析 相关下载链接:[url=//download.csdn.net/download/asi228/4350570?utm_source=bbsseo]//download.csdn.net/download/asi228/4350570?utm_source=bbsseo[/url]
Struts2、Spring、Hibernate整合ExtJS下载
Struts2、Spring、Hibernate整合ExtJS 相关下载链接:[url=//download.csdn.net/download/leaves137/4581243?utm_source=bbsseo]//download.csdn.net/download/leaves137/4581243?utm_source=bbsseo[/url]
修复可执行文件头下载
exe文件损坏或无法加壳、加密,可以通过本软件修改文件头,修复exe。 相关下载链接:[url=//download.csdn.net/download/gulang6/8247871?utm_source=bbsseo]//download.csdn.net/download/gulang6/8247871?utm_source=bbsseo[/url]
相关热词 c# 输入ip c# 乱码 报表 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件
我们是很有底线的