原本计划是今天上午编写Matlab代码实现Bayer到RGB的转换,但是一直忙到现在才弄完,这其中遇到一个问题,那就是数据格式的问题,在读入图像时,默认的数据类型是uint8,无符号8为整型,需要将其转换为double再进行各种运算,否则结果就出现问题。
下图是原始的RGB图像
![RGB_original RGB_original](https://images.cnblogs.com/cnblogs_com/yucan/201103/201103251746172772.jpg)
对其应用Bayer模板,得到每个像素只有一个颜色通道的二维矩阵:
![Bayer Bayer](https://images.cnblogs.com/cnblogs_com/yucan/201103/201103251750086626.png)
彩色显示是
![Bayer_color Bayer_color](https://images.cnblogs.com/cnblogs_com/yucan/201103/201103251757585603.png)
由于每个像素少了两个颜色分量,故亮度很低,而且还有马赛克。
这是利用Bayer模板图像经过色彩内插后的图像
![interp_RGB interp_RGB](https://images.cnblogs.com/cnblogs_com/yucan/201103/20110325184001732.png)
肉眼几乎看不出和原图的差别,除了小画笔的颜色。