用Python将RGB数据转换为Bayer格式

0 人关注

我目前正在做一个HIL模拟。我正在使用CARLA平台,有一个RGB摄像头传感器,通过它我可以获得图像帧的RGB数据值(3D阵列(高度,宽度,3(RGB)))。我想通过网络层发送这些数据,.....

问题是我想把RGB格式转换为Bayer格式阵列。我对Bayer原始过滤器的细节不是很了解。我注意到有一个Opencv标志用于Bayer到RGB的转换,但没有反过来。我需要这种格式来重复使用图像解包或服务器端的库。

任何关于从RGB转换到bayer格式的建议都会对我进一步推动这个项目有很大帮助。

参考资料(图片式参考资料--我想从右到左进行)-- https://theailearner.com/2018/10/28/bayer-filter/

1 个评论
如果你知道你需要生成的拜尔网格,那么你可以用一些numpy的切片和赋值来DIY。
python
opencv
rgb
imagefilter
carla
Dinesh Thirumurugan
Dinesh Thirumurugan
发布于 2021-11-15
1 个回答
Christoph Rackwitz
Christoph Rackwitz
发布于 2021-11-16
已采纳
0 人赞同

这里有一个 天真无邪 代码来生成你的那个链接中的第一个拜尔图案(GRBG?)

import numpy as np # of course
im = cv.imread(...)
(height, width) = im.shape[:2]
(B,G,R) = cv.split(im)
bayer = np.empty((height, width), np.uint8)
# strided slicing for this pattern:
#   G R
#   B G
bayer[0::2, 0::2] = G[0::2, 0::2] # top left