芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 5911|回复: 1

基于OV5640的RAW2RGB实验的原理及思考

[复制链接]

该用户从未签到

59

主题

80

帖子

1315

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1315
发表于 2021-8-30 10:24:24 | 显示全部楼层 |阅读模式
Raw数据作为图像的原始数据,其在图像处理上的天然优势是毋庸置疑的,以该数据为处理对象对图像的损失会非常小,同时其黑白影调范围较大,画面通常都十分柔和自然。
在基于OV5640的RAW2RGB实验中,我们就是通过配置摄像头输出RAW格式数据的图像数据,通过转换模块转换为RGB888格式化数据进行显示。在整个工程中对于RAW 数据的处理有几个重要的知识点:

1.  raw图像数据位置的确定
将RAW数据转换为RGB888数据的方式是进行2X2矩阵运算,分别得出RGB分量的值,2X2的RAW矩阵有四种排列可能:
4.png

排列规律
每一个2X2RAW矩阵代表一个RGB像素,红色代表了RGB三种分量中的R分量,蓝色代表了B分量,绿色的平均值为G分量。根据2X2RAW矩阵的排列顺序我们就可以计算出对应点的RGB像素值。

2.  像素位置的确定
在我们知道了像素的排列规律和计算方式后,该怎么知道对应像素点的矩阵排列顺序呢?观察下图OV5640中的像素物理分布我们可以发现,每个奇数行间隔放置绿色(Gr)和红色(R)感应像素;每个偶数行间隔放置绿色(Gb)和蓝色(B)感应像素;每个奇数列间隔放置绿色和蓝色感应像素;每个偶数列间隔放置红色和绿色感应像素。根据此我们完全可以建立一个奇偶坐标,通过对应点的奇偶坐标值知道该点对应的颜色分量以及其排列顺序。
5.png

像素物理分布图
根据像素排列顺序和橡树分布,我们可以得出如下2X2RAW矩阵奇偶坐标与排列组合的关系:
6.png
像素奇偶坐标与排列规律

为了方便理解,我们这里进行几个举例说明,假设要计算RGB颜色点为:
第三行第二列:该点对应奇偶坐标为(1,0),所以其排列组合为左下角的2X2RAW矩阵像素。
第八行第七列:该点对应奇偶坐标为(0,1),所以其排列组合为右下角的2X2RAW矩阵像素。
跟据该方式得出矩阵像素后我们即可得出对应点的RGB像素值。

3.  一些思考
该计算方式虽然可行,但是会存在以下几个误差:
a.进行RAW转RGB的第一帧(由于DVP_Capture会删除前十帧,因此是总像素数据的第十一帧),图像会缺少第一行的像素数据导致画面上移一格,但是由于图像帧率刷新速度较快,且一行数据在800行中占比不大,该误差不会有太大影响。
b.由于图像数据是连续的,因此下一帧的第一行图像数据是该行的RAW数据与上一帧图像最后一行的RAW数据计算得来的,而作为画面的开始与结束行,颜色差距往往较大,因而会导致每帧画面的第一行出现比较明显的线条,该线条会持续出现在后续每一帧的第一行,属于算法上的问题,将在后续进行优化。



回复

使用道具 举报

  • TA的每日心情
    无聊
    2021-9-24 16:43
  • 0

    主题

    2

    帖子

    7

    积分

    新手入门

    Rank: 1

    积分
    7
    发表于 2021-9-24 16:53:45 | 显示全部楼层
    在我们知道了像素的排列规律和计算方式后,该怎么知道对应像素点的矩阵排列顺序呢?观察下图OV5640中的像素物理分布我们可以发现,每个奇数行间隔放置绿色(Gr)和红色(R)感应像素;每个偶数行间隔放置绿色(Gb)和蓝色(B)感应像素;每个奇数列间隔放置绿色和蓝色感应像素;每个偶数列间隔放置红色和绿色感应像素。根据此我们完全可以建立一个奇偶坐标,通过对应点的奇偶坐标值知道该点对应的颜色分量以及其排列顺序。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-3-28 21:48 , Processed in 0.113416 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表