完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
楼主最近在做摄像头小板的开发,用到的硬件平台为:单片机+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文件中。 |
|
|
|
只有小组成员才能发言,加入小组>>
3318 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9063 浏览 16 评论
4088 浏览 18 评论
1180浏览 3评论
608浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
600浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2335浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1896浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 18:20 , Processed in 1.327632 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号