OV5640摄像头颜色分量不正确

配置OV5640摄像头后,通过千兆以太网传输到QT的上位机显示,有显示图像,但是图像颜色分量不正确。
现象: 输出格式为rgb565,上位机转成rgb888颜色分量不正确,只能显示黑白

原因:
大端小端存储
千兆以太网数据位数为8位,而rgb565数据总共为16位,我使用了一个union共享一片内存,存的时候是char类型,取的时候是quint16类型,这样就导致一个问题:
假如数据为0x01、0x02、0x03、0x04,按顺序存储,而读取的时候是0x0201、0x0403,这样提取rgb分量就会出错。

下图是0v5640的数据输出格式
在这里插入图片描述
解决这个问题以后,又发现颜色分量不准确,具体现象是红色显示成蓝色,蓝色显示成红色。怀疑是提取颜色分量出错。后来查ov5640技术手册,发现了原因。

  1. ov5640寄存器配置
    ov5640数据输出格式是由0x4300寄存器配置决定的。
    我给0x4300寄存器配置的是0x60,即输出应是{b[4:0],g[5:3]},{g[2:0],r[4:0]}。而我实际在提取RGB颜色分量时按照rgb顺序提取,导致红蓝颜色相反。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值