VB实现RGB888到YUV422的转换

从前面的bmp文件格式以及YUV的格式介绍中,我们已经知道了两种文件之间的差异。再从网上找到YUV与RGB之间的换算关系:

Y =   0.257R + 0.504G + 0.098B + 16
U = -0.148R - 0.291G + 0.439B + 128
V  =  0.439R - 0.368G - 0.071B + 128

 好,现在准备工作已经差不多了。需要的就是整理一下思路了。               

目的:将RGB888文件(即24位bmp) 转换为 YUV422(UYVY)

过程:RGB888  =》 YUV  =》 YUV422    (注:中间的YUV就是按照上面的公式进行RGB到YUV的转换,但是格式上还不是YUV格式,所以还需要再次转换成YUV422。)

好,下面就可以累长城了。

RGB到YUV转换的代码如下:


        Open strRGBfile For Binary As #1
        Open strYUVfile For Binary As #100
        
        'BMP 54个字节之后的是像素数据
        lengRGB = rgbHeight * rgbWidth * 3

        ReDim rgbContent(lengRGB - 1) '重定义数组,为读取文件做准备
        Get #1, 55, rgbContent() '取得第一文件的内容到数组
        Dim i,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值