(转)YV12,I420,YUV420P的区别】的更多相关文章

  YV12和I420的区别 一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 Bit,RGB32的size=width×heigth×4,如果是I420(即YUV标准格式4:2:0)的数据量是 size=width×heigth×1.5 Bit.在采集到RGB24数据后,需要对这个格式的数据进行第一次压缩.即将图像的颜色空间由RGB2YUV.因为,X264在进行编码的时候需要标准的YUV(4:2:0).但是这里需要注意的是,虽然YV1…
说明 因工作方面接触到图像处理这一块,需要对手机摄像头采集的原始帧做Rotate或者Scale,但无奈对此的了解少之又少,于是网上搜了一顿,完事后将最近所学总结一下,以方便之后的人别踩太多坑. 首先想要了解YUV为何物: https://msdn.microsoft.com/en-us/library/aa904813 上面的链接中微软已经写的很详细了,国内大部分文章都是翻译这篇文章的,如果还有疑问的同学可以参考下面这些大神的博客: 最简单的基于FFmpeg的libswscale的示例(YUV转…
工作问题接触到图像这一块,需要对手机摄像头采集的原始帧做Rotate或者scale,但无奈对此的了解少之又少,于是网上搜了一顿,完事后将最近所学总结一下,以方便之后的人别踩太多坑.       首先想要了解YUV为何物,请猛戳:https://msdn.microsoft.com/en-us/library/aa904813(VS.80).aspx   上面的链接中,微软已经写的很详细了,国内大部分文章都是翻译这篇文章的,如果还有疑问的同学可以参考下面这些大神的博客: 最简单的基于FFmpeg的…
这段时间一直在搞视频格式的转换问题,终于最近将一个图片的YUV格式转RGB格式转换成功了.下面就来介绍一下: 由于我的工程是在vs2008中的,其中包含一些相关头文件和库,所以下面只是列出部分核心代码,并不是全部代码. 1.下载一个包含YUV数据的文件也可以自己制作一个该文件 下载地址:YUV数据文件 2.读入YUV数据文件中的yuv数据: 关键代码如下: 2.1读文件代码 unsigned char * readYUV(char *path) { FILE *fp; unsigned char…
始终保持视频数据YUV联系,因为基于其产品的组织不同的公司格不同的类型定义,派生出多种不同YUV格公式. 大体,YUV从在点的形式的像素组织中,有两个:1.planer状态.2.packet状态. planar模式示例: Y0Y1....Yn  U0U1...Um  V0V1..Vm,YUV三个通道分别连续存储: packet模式举例: Y0U0V0 + Y1U1V1 + ... + YnUnVn,YUV三个通道混合存储. planar模式有利于编解码的输入输出:packet模式有利于视频数据採…
上篇文章Android libyuv使用系列(一)Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别中我们了解了YUV相关的知识,而本篇文章我会介绍libyuv是什么,以及如何使用libyuv进行相应的图像数据处理. 当我们在 Android 中处理 Image 时,常因为 Java 性能和效率问题导致达不到我们期望的效果,例如进行Camera 采集视频流的原始帧时我们需要每秒能够获取足够的帧率才能流畅的显示出来,这也是为什么美颜 SDK 和图像识别等这类 SDK…
概要 mplayer [选项] [ 文件 | URL | 播放列表 | - ] mplayer [全局选项] 文件1 [特定选项] [文件2] [特定选项] mplayer [全局选项] {一组文件和选项} [针对该组的特定选项] mplayer [dvd|vcd|cdda|cddb|tv]://title [选项] mplayer [mms[t]|http|http_proxy|rt[s]p]:// [用户名:密码@]URL[:端口] [选项] mencoder [选项] [ 文件 | URL…
名称   mplayer − 电影播放器 mencoder − 电影编解码器 概要   mplayer [选项] [文件|URL|播放列表|−] mplayer [选项] 文件1 [指定选项] [文件2] [指定选项] mplayer [选项] {文件和选项组} [组指定选项] mplayer [dvd|dvdnav]://[标题|[开头标题]−末尾标题] [选项] mplayer vcd://轨迹[/设备] mplayer tv://[频道][/input_id] [选项] mplayer r…
libyuv是Google开源库,可用作图像数据格式的转换,比如视频流编解码时格式的转换,YUV数据转化RGB等 libyuv静态库 为了方便使用,已经将libyuv源代码打包成了iOS静态库,libyuv静态库 libyuv使用 下面以nv12(yuv420sp)转化为I420(yuv420p)为例: void nv12_to_yuv420p(unsigned char* nv12, unsigned char* yuv420p, int width, int height) { int y_…
YUV420介绍: YUV420格式是指,每个像素都保留一个Y(亮度)分量,而在水平方向上,不是每行都取U和V分量,而是一行只取U分量,则其接着一行就只取V分量,以此重复(即4:2:0, 4:0:2, 4:2:0, 4:0:2 .......),所以420不是指没有V,而是指一行采样只取U,另一行采样只取V.在取U和V时,每两个Y之间取一个U或V.但从4x4矩阵列来看,每4个矩阵点Y区域中,只有一个U和V,所以它们的比值是4:1.所以对于一个像素,RGB需要8 * 3 = 24位,即占3个字节:…
luvcview,使用mplayer查看摄像头和luvcview保存YUV图像视频的播放 在mplayer中查看摄像头,可使用如下命令:mplayer tv:// -tv driver=v4l2:input=0:width=640:height=480:fps=25 -vo x11当然,前提是你已经安装了摄像头驱动.luvcview保存YUV图像:luvcview -cluvcview保存YUV视频:luvcview -S在mplayer中查看YUV格式的图片或视频,可使用如下命令:mplaye…
转自:http://blog.csdn.net/ly0303521/article/details/38713791 在mplayer中查看YUV格式的图片或视频,可使用如下命令: mplayer -demuxer rawvideo -rawvideo w=320:h=240:format=yuy2 qvga.yuv -loop 0 由于是raw data文件,文件中只包含图像数据,参数需由命令行提供,如width, height和format. 注意format的可选项有:420:yv12 i…
libyuv是Google开源的实现各种YUV与RGB之间相互转换.旋转.缩放的库.它是跨平台的,可在Windows.Linux.Mac.Android等操作系统.x86.x64.arm架构上进行编译执行,支持SSE.AVX.NEON等SIMD指令加速. 以下说一下libyuv在Windows7VS2013 x64上的编译步骤及使用: 1.        从https://code.google.com/p/libyuv/source/checkout或者https://github.com/l…
vlc 详细使用方法:libvlc_media_add_option 函数中的参数设置 [转载自]tinyle的专栏 [原文链接地址]http://blog.csdn.net/myaccella/article/details/7027962 [手记] 下面列出的参数可以在命令行中执行,也可以在VLC界面中填写.当然,更重要的是能在 程序中调用. 程序中调用的时候要注意,什么是全局参数,什么是会话参数.例如: RTP over TCP的选项,必须用冒号.用双减号则没有效果. 正确写法:libvl…
用法: vlc [选项] [流] ...您可以在命令行中指定多个流.它们将被加入播放列表队列.指定的首个项目将被首先播放. 选项样式: --选项 用于设置程序执行期间的全局选项. -选项 单字母版本的全局 --选项. :选项 一个仅在流之前应用的选项, 且将覆盖先前的设置. 流 MRL 语法: [[协议][/去复用]://]URL[#[标题][:章节][-[标题][:章节]]] [:选项=值 ...] 许多全局 --选项 也可被用作 MRL 特定的 :选项. 可指定多对 :选项=值. URL 语…
http://blog.csdn.net/xy365/article/details/18735849 ——————————————————————————————————————————————————————————— 一.YUV简介     一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3 Byte,RGB32的size=width×heigth×4 Byte,如果是I420(即YUV标准格式4:2:0)的数据量是 size=wi…
转自:http://www.latelee.org/my-study/yuv-learning-yuv420p-to-rgb24.html 对于YUV420的格式,网上有一大堆资料,这里就不说了.直奔主题,给出如何转换的函数,一如既往,只用代码说事. YUV420有打包格式(Packed),一如前文所述.同时还有平面格式(Planar),即Y.U.V是分开存储的,每个分量占一块地方,其中Y为 width*height,而U.V合占Y的一半,该种格式每个像素占12比特.根据U.V的顺序,分出2种格…
用videoCapture和IAMStreamConfig拿到的支持的格式列表.发现支持2中图像格式,YV12和NV12.具体是怎么样的内存分布不知道.查了些文档.自己修改了几个图.看出了点端倪 YV12先看看 http://www.fourcc.org/yuv.php 上比较标准的定义: YV12 This is the format of choice for many software MPEG codecs. It comprises an NxM Y plane followed by…
用videoCapture和IAMStreamConfig拿到的支持的格式列表.发现支持2中图像格式,YV12和NV12.具体是怎么样的内存分布不知道.查了些文档.自己修改了几个图.看出了点端倪YV12先看看 http://www.fourcc.org/yuv.php 上比较标准的定义: YV12 This is the format of choice for many software MPEG codecs. It comprises an NxM Y plane followed by…
概述  之前介绍了YUV码流的采样格式,下面分析下YUV码流的存储格式,YUV码流的存储格式与采样格式息息相关.总的来讲,YUV存储格式主要分为两种: planar 平面格式 指先连续存储所有像素点的 Y 分量,然后存储 U 分量,最后是 V 分量. packed 打包模式 指每个像素点的 Y.U.V 分量是连续交替存储的. 根据采样方式和存储格式的不同,就有了多种 YUV 格式.这些格式主要是基于 YUV 4:2:2 和 YUV 4:2:0 采样. 常见的基于 YUV 4:2:2 采样的格式如…
背景: 最近在研究音视频,了解YUV这样的格式对于音视频开发比较重要. 虽然这篇文章大部分是转载别人的,但是经过了校对以后,重新排版并补充了一部分内容   概览: 之所以提出yuv格式的原因,是为了解决彩色电视和黑白电视兼容性问题.与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题.并且,YUV不像RGB那样要求三个…
GCHandle handle = GCHandle.Alloc(yuvs, GCHandleType.Pinned); Emgu.CV.Image<Bgr, Byte> image = , ); , ( >> ) * , , handle.AddrOfPinnedObject())) { CvInvoke.CvtColor(yuv420p, image, Emgu.CV.CvEnum.ColorConversion.Yuv420P2Bgr); //image now contai…
/* 主要的采样格式有YCbCr 4:2:0.YCbCr 4:2:2.YCbCr 4:1:1和 YCbCr 4:4:4.其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值),每 2x2 个点保存一个 Cr 和Cb 值, 图像在肉眼中的感觉不会起太大的变化.所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 1个点需要 8x3=24 bits(如下图第一个图),(全采样后,YUV仍各占8bit).按4:1:1采样后,而现在平均…
用videoCapture和IAMStreamConfig拿到的支持的格式列表.发现支持2中图像格式,YV12和NV12.具体是怎么样的内存分布不知道.查了些文档.自己修改了几个图.看出了点端倪 YV12先看看 http://www.fourcc.org/yuv.php 上比较标准的定义: YV12 This is the format of choice for many software MPEG codecs. It comprises an NxM Y plane followed by…
引言 因为项目中要做画面共享,所以需要学一点图像相关的知识,首当其冲就是RGB转YUV了,因为图像处理压缩这一块是由专业对口的同事做的,所以呢,我这就是写一下自己的理解,如有不对的地方,还望指正,谢谢. 你可以在这里看到更好的排版. 正文 知识准备 RGB 三原色光模式(RGB color model),又称RGB颜色模型或红绿蓝颜色模型,是一种加色模型,将红(Red).绿(Green).蓝(Blue)三原色的色光以不同的比例相加,以合成产生各种色彩光. RGB32 RGB32使用32位来表示一…
一. 公式:基于BT.601-6 BT601 UV 的坐标图(量化后): (横坐标为u,纵坐标为v,左下角为原点) 通过坐标图我们可以看到UV并不会包含整个坐标系,而是呈一个旋转了一定角度的八边形,  U越大蓝色越蓝,V越大,红色越红. 名词解释: 量化后:   Y~[16,235]   U ~[16-240]   V~[16-240]     量化就是让通过线性变换让Y 或 U 或V 处于一定的范围内, 比如让Y [0,1]变到 Y' (16,235)  就这样来实行:  Y' = Y* (2…
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发,快速实现,微软官方的各种封装,各种语法糖,使得c#在语义语法层面上更人性化,开发思路更专注于业务逻辑,对技术的实现并不需要关心的很细(当然这是指初级的入门程度),不过也带来的一些缺陷,当表面上的功夫不能满足的时候,.net程序员就不得不去了解微软封装起来的东西,所以我认识的.net程序员几乎人手一…
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以,一般用带有min的,是压缩版的,如果还要引用其他js文件的话,一定要juery包在上面,其他的引用放在他下面 先来看看如果使用Juery的话,怎么来引用Juery包 这样来引用,然后就可以用Juery方法了 和js的语法一样,都是写在<script type = "text/javascrip…
来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的方向,思考能为商户或者业务做点什么来体现其身价值,这样的转变是机会也是挑战,我一直相信在特别的环境下能迅速磨练出了跨岗位技能和综合素质,然而一路走来也发现了自己的短板(所谓的产品思维),并非想提升就可以,有时候感到自己很无能. 于是这样熬过来,暗示自己保持积极乐观的心态,平时使用一些通用的方法来提醒…
一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开发中也是没有认真的去研究,至于使用copy还是用strong完全是根据心情随性而为,也一直没有出什么问题.可苹果竟然分了两个关键字,就肯定有其用意,为了提高自己还是要仔细的搞清楚其中之差别!好了,废话说完进入正题. 二.对象属性描述copy与strong的区别 直接上代码: ``` @propert…