采集摄像头RGB565数据并转为bmp图像

楼主最近在做摄像头小板的开发,用到的硬件平台为:单片机+OV7725,demo工程里面配置OV7725输出图像格式为RGB565,为了判断输出图像数据是否正常,写了一个上位机软件用于将RGB565数据生成bmp图像。

步骤如下:

1、单片机端使用printf函数采用%x格式打印uint16_t的RGB565数组数据,波特率115200,将打印的数据通过串口调试助手保存为txt文件;

如图所示:

 

 这样16进制的RGB565数据就存到txt文件中。

2、上位机软件为c文件,使用devc++编译,源码参照文末链接下载,文件名为ConvertRgb565ToBmp.c,放到windows端标准C的环境中即可编译运行。

①由于上述txt文件存的16进制数据为字符串形式,并不是严格意义上的RGB565数据文件,故上述C文件进行了文件变换,调用CangeTxtToBin函数,实现RGB565文件的生成。

② 这里我生成了txt文件,与生成bin文件一样都可用于后续转换bmp图片使用,如下图所示,notepad++打开生成的文件,选择view in hex,即可看到原16进制字符串txt转为需要的标准RGB565数据文件。

 ③在获得标准RGB565数据文件后,即可调用开源的处理函数,生成bmp图片。

 

 

 3、上述步骤完成了RGB565到BMP图片的转换,以下是个人在调试中遇到的bug及解决方案:

①bug:生成的BMP图片左右镜像;

debug:镜像处理,串口打印输出的数据从右到左打印即可解决左右镜像翻转问题,为uint16_t的数据;

②bug:转换后的图片颜色异常,花花绿绿的;

debug:颜色处理,串口打印数据时,将单片机中采集的uint16_t数据(每个像素点)高八位与低八位互换后再打印,存到txt文件中。

上位机文件下载链接:https://download.csdn.net/download/qq_34948261/20550287

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值