i420 转 nv21】的更多相关文章

MediaCodec的使用demo: https://github.com/vecio/MediaCodecDemo https://github.com/taehwandev/MediaCodecExample http://bigflake.com/mediacodec/ 以下文章转载自: https://www.polarxiong.com/archives/Android-MediaCodec%E8%A7%86%E9%A2%91%E6%96%87%E4%BB%B6%E7%A1%AC%E4…
作者:杨科 近期我们开发了一个银行卡 OCR 项目.需求是用手机对着银行卡拍摄以后,通过推理,可以识别出卡片上的卡号. 工程开发过程中,我们发现手机拍摄以后的图像,并不能满足模型的输入要求.以 Android 为例,从摄像头获取到的预览图像是带 90 度旋转的 NV21 格式的图片,而我们的模型要求的输入,只需要卡片区域这一块的图像,并且需要转成固定尺寸的 BGR 格式.所以在图像输入到模型之前,我们需要对采集到的图像做图像处理,如下图所示: 在开发的过程中,我们对 YUV 图像格式和 liby…
目标       Pad的Capabilities是一个GStreamer element的基础,因为framework大部分时间是自动处理的,所以我们几乎感觉不到它的存在.本教程比较偏向原理,介绍了:       什么是Pad Capabilities       如何获得这个东西       什么时候应该去获得这个东西       为什么你需要了解他们 介绍 Pads       Pads允许信息进入或者离开一个element--就像曾经展示过得一样.这个Capabilities(或者简单地…
什么是 YUV YUV是一种颜色编码格式,可以说YUV流媒体是原始流数据,大部分的视频领域都在使用.与RGB类似,但RGB更多的用于渲染时,而YUV则用在数据传输,因为它占用更少的频宽.当然,实时通讯为了降低带宽都会采用H264/H265编码.YUV的含义:Y代表亮度信息(灰度),UV分别代表色彩信息.YUV的常用名称有许多,例如YUV422.YUV420.YUV444等. 采样格式 YUV 后面常带着三个数字,其含义代表 YUV 信息在像素点中的分布状况,也就是采样格式: YUV444 代表每…
最近弄了一个读取y4m文件转成yuv的流的事情,记录一些yuv相关的细节 为什么会有yuv 因为我们目前的显示器显示的原理都是三原色,几乎所有的视频数据最后都要转为rgb格式才能渲染到显示屏上,而原始的rgb格式存储太耗费空间 rgb存储空间是每个像素点需要 rbg三个属性,每个属性八个bit来存储,也就是24bit 而yuv则是从另外一个角度描述图片,y是明亮度(灰介值),uv是则是色度,而人眼对色度没有那么敏感,可以通过减少uv的采集从而减少存储 为什么叫yuv? 查了很久,基本可以确认yu…
概述  之前介绍了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 采样的格式如…
转自: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种格…
背景: 最近在研究音视频,了解YUV这样的格式对于音视频开发比较重要. 虽然这篇文章大部分是转载别人的,但是经过了校对以后,重新排版并补充了一部分内容   概览: 之所以提出yuv格式的原因,是为了解决彩色电视和黑白电视兼容性问题.与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题.并且,YUV不像RGB那样要求三个…
说明 因工作方面接触到图像处理这一块,需要对手机摄像头采集的原始帧做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的…