繁体   English   中英

Python中RGB数据到Bayer格式的转换

[英]RGB data to Bayer format conversion in Python

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

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

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

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

这里有一个天真的代码来生成该链接的第一Bayer模式您有(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 ) 输入,否则您会看到有趣的混叠伪影。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM