0

我目前正在研究 HIL 模拟。我正在使用 CARLA 平台,存在一个 RGB 相机传感器,通过它我可以获得图像帧的 RGB 数据值(3D 数组(高度,宽度,3(RGB)))。我想通过网络层发送数据,......

问题是我想将 RGB 格式转换为拜耳格式数组。我不太了解拜耳原始过滤器的细节。我注意到拜耳到 RGB 转换有一个 Opencv 标志,但反之则不然。我需要这种格式来重用图像解包或服务器端的库。

任何关于从 RGB 转换为拜耳格式的建议都会帮助我进一步推动这个项目。

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

4

1 回答 1

1

这是一个简单的代码,用于在您拥有的链接中生成第一个拜耳模式(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
bayer[0::2, 1::2] = R[0::2, 1::2] # top right
bayer[1::2, 0::2] = B[1::2, 0::2] # bottom left
bayer[1::2, 1::2] = G[1::2, 1::2] # bottom right

这模拟了图像形成。您可能需要GaussianBlur稍微低通 ( ) 输入,否则您会看到有趣的混叠伪影。

于 2021-11-15T17:53:11.307 回答