请教大家:2440的CAMERA接口能直接接收Bayer格式的数据吗?
如果我通过2440接收Bayer格式的数据并通过液晶显示的话,得到的图像除了颜色不对之外,还会有什么问题?
bayer pattern的数据需要自己去做插值转换才能正确得到每个像素的色彩。
那我要是不转换直接显示,颜色肯定是不对的了,但物体的轮廓应该还是能够分辨出来吧。
Bayer数据是一种图像存储格式,有不同的摆放方式
把获取的Bayer数据当做灰度图来显示,除了图像突变处有锯齿状外,基本能展示拍摄物体的信息
Bayer转RGB算法有很多,主要考虑时空效率以及转换细节等问题
不行,camera接口不支持这个格式,除非你显示的时候做些图像格式处理。
6楼是我要的答案,谢谢。
7楼:没有办法,硬件电路(CAMERA接口)和CMOS(输出Bayer格式)都是别人选的,已经接死了,我只能“霸王硬上弓”,把内存中得到的数据在还原成Bayer格式的。
现在的一个问题是,在液晶上显示的图像分成了左中右三幅完全一样的图像,不知道怎么回事.
还原是很容易的。具体是要根据你的sensor所产生的传感器的格式。我在桌面上写过类似的程序。
“是不是图像的像素点字节数与你硬件的配置不一样?”
是什么意思?能详细说说吗?
液晶显示数据格式是RGB565的。
找到一点规律,但不清楚什么原因:
配置:
CMOS输出为Bayer格式,S3C2440采用C通道来接收,并设置C通道输入为YCbCr4:2:2,输出也为YCbCr4:2:2。(我是这么想的,既然手册提供了这样的配置,那可以认为数据在输入输出之间并未发生转换,只是存储而已。)
现象
1.把CMOS的数据接收区直接指向液晶的显存,在液晶上显示的是左中右三幅相同的图像,其中左边还有一部分跑到右边去了。
2.另外开辟CMOS的数据接收区,然后用 PutPixel 函数把数据往显存里送,显示的是上下两幅图像。
3.既然S3C2440把接收到的Bayer类型数据按照YCbCr格式来存储,于是我把存储到内存的数据重新组合为原始的Bayer数据序列,再把数据写到显存里去,这样显示的倒是一幅图像了,但是显示的范围却小了(物体必须在CMOS传感器窗口的顶部)
这个哪位高手来给分析一下?