[发明专利]一种将Bitmap转成YUV格式的文件的方法有效
申请号: | 201310445610.8 | 申请日: | 2013-09-26 |
公开(公告)号: | CN103546731A | 公开(公告)日: | 2014-01-29 |
发明(设计)人: | 李小朋 | 申请(专利权)人: | 广东欧珀移动通信有限公司 |
主分类号: | H04N9/64 | 分类号: | H04N9/64 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 李盛洪 |
地址: | 523860 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 bitmap 转成 yuv 格式 文件 方法 | ||
技术领域
本发明涉及文件色彩处理的技术领域,特别涉及一种将Bitmap转成YUV格式的文件的方法。
背景技术
位图文件(Bitmap),扩展名可以是.bmp或者.dib。位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。RGB是位图颜色的一种编码方法,用红、绿、蓝三原色的光学强度来表示一种颜色。
YUV主要用于优化彩色视频信号的传输,与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视频信号同时传输)。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面─色调与饱和度,分别用Cr和Cb来表示。其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。
目前将RGB转YUV需要对每个像素的数据进行逐一的处理,处理的数据量很大,算法也比较复杂,而且代码量也大,效率不高.而且针对不同的YUV的格式,需要同时调整算法,因为YUV格式的不同,导致RGB转换时数据处理也有不同,所以比较繁琐。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种利用Scalado库将Bitmap转成YUV格式的文件的方法。
本发明的目的通过下述技术方案实现:
本发明一种将Bitmap转成YUV格式的文件的方法,包括下述步骤:
S1、将RGB格式的Bitmap读到内存中;
S2、申请一块内存,此块内存大小是该Bitmap(位图)经过无损压缩后再解码后的大小,这样Bitmap就相当于存到内存中了,并且设置YUV的格式,利用scalado库的caps_createImage创建一个内存大小的对象,此对象用于创建session,caps_newSessionWithRaw用于后面对此内存进行处理的关联对象;
S3、再创建一个Bitmap尺寸大小的BUF,此BUF用于保存转换YUV后的BUF的数据;
S4、caps_renderAsRawToBuffer通过扫描每行Session中的数据到步骤S3创建的BUF数据中,获得到转换YUV后的BUF数据;
S5、把此BUF写入到文件当中,得到转成YUV的数据。
优选的,步骤S2中,申请一个Bitmap读到内存中的BUF尺寸大小的内存处理方法如下:
先创建一个字节流os,再把Bitmap无损压缩到该字节流中,
再把此字节流通过os.toByteArray()转换成字节数组,从而完成把Bitmap的数据读到字节数组中,此处的数据是RGBA8888格式的数据。
优选的,步骤S2中,所述设置YUV的格式具体为:在创建SESSION时设置CM_YUV422_UY1VY2,这样Scalado通过逐行扫描,并转换成YUV格式。
优选的,步骤S2中,session是用于后续对该内存的操作,类似于获取到一个句柄的作用。
优选的,步骤S3中,将数据转换成YUV格式的方法如下:
通过每行扫描内存块,来对每行的数据逐行进行YUV的转换,通过借用Scalado的接口来实现,每行的数据中的像素进行YUV的转换。
本发明相对于现有技术具有如下的优点及效果:
1、本发明YUV与RGB互相转换简单、高效;比较方便实现任意格式的YUV的转换。
2.本发明对于多种YUV格式的设置简单,代码量小而且简单。
3.本发明比对每个像素的处理要简洁,不易出错,效率也高。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本实施例一种将Bitmap转成YUV格式的文件的方法,包括下述步骤:
1、将Bitmap读到内存中,因为Bitmap每个像素都是RGB格式的;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东欧珀移动通信有限公司,未经广东欧珀移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310445610.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种挤压式划线机
- 下一篇:低成本高性能耐腐蚀钢筋及其制造方法