<分区>
我想创建一个可以将 BMP 图像转换为 Raw Bayer(所有格式)图像的应用程序。我想使用这个应用程序来交叉验证我的相机的实际输出。所以任何帮助表示赞赏。请指定从 RGB888 转换为 Bayer 格式的任何公式的任何链接。我在 C++ 中使用 opencv。
编辑:为了减少可能答案的数量,我只想考虑对其原始拜耳图像进行双线性插值 RGB888 图像,并接受此转换中可能出现的损失。
<分区>
我想创建一个可以将 BMP 图像转换为 Raw Bayer(所有格式)图像的应用程序。我想使用这个应用程序来交叉验证我的相机的实际输出。所以任何帮助表示赞赏。请指定从 RGB888 转换为 Bayer 格式的任何公式的任何链接。我在 C++ 中使用 opencv。
编辑:为了减少可能答案的数量,我只想考虑对其原始拜耳图像进行双线性插值 RGB888 图像,并接受此转换中可能出现的损失。
最佳答案
如果用 3x3 对图像进行插值,则可以在没有任何损失的情况下从每个像素取回颜色。基本上,只需为 B 像素使用“蓝色” channel ,为 G 像素使用绿色 channel ,为 R 像素使用红色 channel 。如果原件是用高阶插值插值的,这仍然有效,但你会丢失信息。参见 http://www.vision-doctor.co.uk/area-scan-cameras/1ccd-colour-cameras/bayer-colour-interpolation.html .
另一种思考方式是您正在应用“拜耳滤镜”,它会消除每个像素的其他颜色。无论您是通过相机捕捉它还是尝试对图像进行马赛克处理,都是如此。
关于c++ - 如何将RGB888转成Bayer GB/BG/GR格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25426099/