您好,这是我使用的代码的一部分,
b=(byte2&0xF8)<<8; //F8=11111000 5
g=(byte2&0xFC)<<3; //FC=11111100 6
r=(byte2&0xF8)>>3; //F8=11111000 5
grisColor=(r)|(g)|(b);
用RGB 565中的OV7670相机拍照,为了拍摄只有红色成分的照片我需要修改什么?
提前多多感谢
答案 0 :(得分:2)
只需注释掉最后一行的结尾:
grisColor=(r);//|(g)|(b);
和/或将g
和b
设置为零。
答案 1 :(得分:1)
一旦你有5位红色,下一个问题是,你想要输出灰度(例如单八位字节),还是RGB565只有红色填充(和绿色和蓝色零),或RGB565灰度,或RGB24,......?
答案 2 :(得分:0)
我注意到你的目标是从ov7670获得一个8位灰度图像。
通过将ov7670设置为输出yuv422并将该数据“转换”为灰度来获得更好的结果(只需使用Y分量和忽略U和V组件。)
我有一个github存储库,其中包含一些用于配置ov7670的有用功能 查看名为yuv422_ov7670 https://github.com/ComputerNerd/ov7670-no-ram-arduino-uno/blob/master/ov7670_regs.h
的注册列表