1.硬件配置
1:nxp imx6ull linux 开发板一套
2.相机 ov5640 mipi 设置为RGB565输出格式,分辨率800X480
2. 抓取预览图像
没有GUI控制应用程序,基于信号来控制拍照 开发板基于v4l2框架 流程编写 C应用代码。
以下为拍照图像代码。将图像RGB565 图像 保存下来使用 bmp 格式。
3. 实现bmp 算法
位图存放格式如下:
数据结构定义如下:
BMP文件大小 = 文件头大小 + 信息头大小 + 图像大小。
设置图像图像格式信息。
文本编辑查看信息头 确保读取和写入一致。
查看设置图片属性。
4.调试中遇到问题
图像颜色不正常
1.分析怀疑是RGB反色,在写入文件前将RGB进行了交换,仍不解决问题。
2.查找文档,使用看图工具分析怀疑是像素保存时 信息写错。
最后分析定位是图像压缩模式选错,默认0 RGB是555格式解析。因此需要设置模式bit_field模式、
bmpih.compression = 3; // RGB565 设置Bit-fields 需要掩码
设置掩码 bit-filed RGB565掩码 R:0xf800,G:0x7e0,B:0x1f
最后解决!大功告成 ^_^
非常完美!