硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2812|回复: 16
收起左侧

[摄像头] 请教一下,摄像头的原始图像信号RGB Bayer问题

[复制链接]

19

主题

326

回帖

383

积分

高级会员

积分
383
发表于 2019-5-13 12:37:58 | 显示全部楼层 |阅读模式
有没有办法利用H7的DMA或DMA2D来实现 RGB Bayer转BT565或RGB888?
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2019-5-13 12:40:51 | 显示全部楼层
可以,你可以DCMI -> DMA到SDRAM ->SDRAM的地址可以直接是LCD显存区,也可以是非显存区 ->如果是非显存区,你可以做各种DMA2D的颜色格式转换,然后显示或者其它
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2019-5-13 12:42:23 | 显示全部楼层
如果你的摄像头是565的话,转出的888效果一般。
回复

使用道具 举报

19

主题

326

回帖

383

积分

高级会员

积分
383
 楼主| 发表于 2019-5-13 13:17:01 | 显示全部楼层
如图中在格式从右到左,从上到下,感觉DMA不参直接转格式到RGB888,原始数据为10位ADC输出,可以直接截成8位

RGB Bayer格式

RGB Bayer格式
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2019-5-13 13:52:09 | 显示全部楼层
laofa 发表于 2019-5-13 13:17
如图中在格式从右到左,从上到下,感觉DMA不参直接转格式到RGB888,原始数据为10位ADC输出,可以直接截成8 ...

你这个图有点看不太懂

图里面的R,G,B通道都是一个8bit数据?
回复

使用道具 举报

19

主题

326

回帖

383

积分

高级会员

积分
383
 楼主| 发表于 2019-5-13 13:59:06 | 显示全部楼层
eric2013 发表于 2019-5-13 13:52
你这个图有点看不太懂

图里面的R,G,B通道都是一个8bit数据?

图中的RGB代表图像传感器的每个像素点,,这个是mt9v034传感器的点阵图,也就是每个点只有一个颜色值,
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2019-5-13 14:11:12 | 显示全部楼层
laofa 发表于 2019-5-13 13:59
图中的RGB代表图像传感器的每个像素点,,这个是mt9v034传感器的点阵图,也就是每个点只有一个颜色值,

也就是说每个像素点就是一个单通道的R,G或者B的颜色值表示。

关键一点是这个传感器的输出个,每次输出一个像素点?

之前我搜集过这个传感器,openmv有做

支持全局快门的摄像头MT9V034手册
http://www.armbbs.cn/forum.php?m ... 9509&fromuid=58
(出处: 安富莱电子论坛)
回复

使用道具 举报

19

主题

326

回帖

383

积分

高级会员

积分
383
 楼主| 发表于 2019-5-13 14:13:15 | 显示全部楼层
eric2013 发表于 2019-5-13 13:52
你这个图有点看不太懂

图里面的R,G,B通道都是一个8bit数据?

是的,R,G,B是独立输出的8位数据。输出顺序为:BGBGBGBGGRGRGRGR......
回复

使用道具 举报

5

主题

196

回帖

211

积分

高级会员

积分
211
发表于 2019-5-13 14:14:06 | 显示全部楼层
本帖最后由 alexyzhov 于 2019-5-13 14:29 编辑
eric2013 发表于 2019-5-13 14:11
也就是说每个像素点就是一个单通道的R,G或者B的颜色值表示。

关键一点是这个传感器的输出个,每次输出 ...

是的,这个叫拜耳阵列(Bayer pattern),数据还需要经过抖动(demosaic)才能恢复出每个像素的RGB数值。
基本所有的彩色摄像头(包括单反相机)都是类似的颜色滤镜设计,因为单个像素没法直接采集RGB三个通道的强度。当然,具体排列不一定都是最经典的Bayer pattern,像华为P30的那颗CMOS就是RYYB排列的。

而且也有例外,像适马的Foveon X3就通过堆叠多层感光器,实现了单个像素点上同时采集RGB三个颜色通道,但代价就是光照强度因为要经过3层滤镜,被极大地削弱了,导致传感器暗光性能极端地差。白天的时候Foveon X3的细节是异常惊人的。


早年为了解决拜耳阵列色彩还原的问题,许多摄像机还引入了分光镜,使用3 CCD分别对R G B单独曝光。不过这种方案逐渐随着CMOS性能的提升被淘汰了,现在只有一些专业CCD机器上才见得到。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2019-5-13 14:14:45 | 显示全部楼层
laofa 发表于 2019-5-13 14:13
是的,R,G,B是独立输出的8位数据。输出顺序为:BGBGBGBGGRGRGRGR......

这种格式输出,怎么组成全彩? 需要自己手动组合一下
回复

使用道具 举报

19

主题

326

回帖

383

积分

高级会员

积分
383
 楼主| 发表于 2019-5-13 14:29:42 | 显示全部楼层
eric2013 发表于 2019-5-13 14:14
这种格式输出,怎么组成全彩? 需要自己手动组合一下

数据量大,手动组合太费时,CPU没办法做其他事情了啊
回复

使用道具 举报

5

主题

196

回帖

211

积分

高级会员

积分
211
发表于 2019-5-13 14:33:32 | 显示全部楼层
eric2013 发表于 2019-5-13 14:14
这种格式输出,怎么组成全彩? 需要自己手动组合一下

恢复色彩的过程就叫反马赛克(demosaic)。使用一个2x2的算子(对于Bayer Pattern,任意一个像素的2x2范围都能完整覆盖一组RGGB的数据),利用相邻像素的颜色分量,"恢复"每个像素的颜色。每家相机厂补偿颜色的算法细节不太一样,也就形成了自己的颜色特色,像宾得绿,奥巴蓝之类的。

这个过程非常消耗算力,单片机计算一般不太可能达到可用的帧率(高频率M7可能可以),一般都是通过内置或者外挂的ISP搞定。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2019-5-13 14:35:05 | 显示全部楼层
laofa 发表于 2019-5-13 14:29
数据量大,手动组合太费时,CPU没办法做其他事情了啊

不用手动组合,使用MDMA就可以,MDMA支持这种花式操作。

我有个问题就是输出的这种单通道数据怎么组成一个RGB全称。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2019-5-13 14:39:15 | 显示全部楼层
alexyzhov 发表于 2019-5-13 14:14
是的,这个叫拜耳阵列(Bayer pattern),数据还需要经过抖动(demosaic)才能恢复出每个像素的RGB数值。
基 ...

非常感谢普及这些知识
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2019-5-13 14:39:49 | 显示全部楼层
alexyzhov 发表于 2019-5-13 14:33
恢复色彩的过程就叫反马赛克(demosaic)。使用一个2x2的算子(对于Bayer Pattern,任意一个像素的2x2范围都 ...

太感谢了
回复

使用道具 举报

19

主题

326

回帖

383

积分

高级会员

积分
383
 楼主| 发表于 2019-5-13 20:39:51 | 显示全部楼层
eric2013 发表于 2019-5-13 14:35
不用手动组合,使用MDMA就可以,MDMA支持这种花式操作。

我有个问题就是输出的这种单通道数据怎么组成 ...

昨晚也刚刚想起MDMA但还没了解具体的,今晚再烟酒烟酒看能不能解决,至于怎么组合有人介绍说是从旁边的取样平均来补上所缺少的颜色就可以了,就是上面那个老兄说的一样
回复

使用道具 举报

0

主题

5

回帖

5

积分

新手上路

积分
5
发表于 2019-5-23 09:03:48 | 显示全部楼层
alexyzhov 发表于 2019-5-13 14:33
恢复色彩的过程就叫反马赛克(demosaic)。使用一个2x2的算子(对于Bayer Pattern,任意一个像素的2x2范围都 ...

1052这种高频M7的算力VGA下达到50帧应该是没问题的,问题最大的是SRAM不够,SDRAM速度又低
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 15:12 , Processed in 0.252325 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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