OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 14700|回复: 8

关于STM32 OV2640如何提取处理RGB565数据的问题

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2017-8-10
在线时间
0 小时
发表于 2017-8-10 12:00:16 | 显示全部楼层 |阅读模式
1金钱
在做一个简单的图像处理任务,用STM32F407 和OV2640进行图像处理的时候遇到一个矛盾的问题。OV2640有两种数据格式输出,如果用JPEG格式,可以直接通过串口发送到电脑上显示,但JPEG是经过压缩的,处理起来很复杂;如果用RGB565模式输出,可以进行处理,但无法发送到上位机进行显示,直观上无法感知处理的结果如何。
原子哥关于摄像头的代码输出RGB565格式时是直接通过DMA将数据从DCMI搬运到LCD上,整个过程都是由硬件模块完成的,难以介入;
而JPEG格式时是直接将一帧图像存到一个数组里,再一个个发送到串口,所以我可以在发送之前增加一个对像素点信息的判断并重赋值操作,这时遇到了几个问题:
①我是直接改动的JPEG模式下的代码,使摄像头输出变为了RGB565模式,但软件处理上沿用的依旧是JPEG模式下逐一发送到串口的模式,这时发现jpeg_data_len=jpeg_buf_size-DMA_GetCurrDataCounter(DMA2_Stream1);得出的数据长度并不是所有像素点的个数的两倍,而是12672

QQ截图20170810115005.png


②如图,这样打开传输又关闭传输的意义是什么?
QQ截图20170810115402.png

③还是上面那张图,选中的那一行的算式怎么理解

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2017-8-10
在线时间
0 小时
 楼主| 发表于 2017-8-10 12:24:15 | 显示全部楼层
然后还有一个问题,改成RGB565输出模式下输出的数据不多不少正好是所有所有像素点的信息吗?就比如说如果输出160x120的图像,每个像素点占2字节,所有总共传输量就是120x160x2=38400个字节,因此对应程序里的jpeg_data_len就是38400/4=9600吗?可我在调试的时候显示值为9608,那个多出来的32字节数据是什么呢?
回复

使用道具 举报

21

主题

211

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1423
金钱
1423
注册时间
2016-8-3
在线时间
576 小时
发表于 2017-8-10 14:09:48 | 显示全部楼层
给你推荐个方法:ov2640配置成为RGB565模式,使用DMA将DCMI数据保存在SRAM中,然后上传至上位机,上位机做个简单串口通讯就行,把RGB565格式数据进行重新分配,就能显示图像了,不过由于数据量很大,上传时间较长些
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2017-8-10
在线时间
0 小时
 楼主| 发表于 2017-8-10 14:56:52 | 显示全部楼层
1965969523 发表于 2017-8-10 14:09
给你推荐个方法:ov2640配置成为RGB565模式,使用DMA将DCMI数据保存在SRAM中,然后上传至上位机,上位机做 ...

这个我有尝试,就像我二楼写的那样,最终上传到上位机的数据位数和我预想的输出长度并不一样。所以我先搞清楚到底是我设置方式有问题还是OV2640RGB模式下返回的数据并不完全是像素信息。
回复

使用道具 举报

21

主题

211

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1423
金钱
1423
注册时间
2016-8-3
在线时间
576 小时
发表于 2017-8-10 18:14:55 | 显示全部楼层
WQL 发表于 2017-8-10 14:56
这个我有尝试,就像我二楼写的那样,最终上传到上位机的数据位数和我预想的输出长度并不一样。所以我先搞 ...

波特率多少?串口1 还是串口2 ?
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-8-27
在线时间
7 小时
发表于 2020-11-5 18:01:06 | 显示全部楼层
后来怎么样,有查到问题吗,我遇到类似问题,求指教
回复

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2021-1-3
在线时间
21 小时
发表于 2021-9-12 12:16:22 | 显示全部楼层
请问你最后知道那多出来的32字节数据是怎么回事了吗,我也遇到了同样问题,万分感谢
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2023-4-17
在线时间
1 小时
发表于 2023-4-28 20:31:14 | 显示全部楼层
1965969523 发表于 2017-8-10 14:09
给你推荐个方法:ov2640配置成为RGB565模式,使用DMA将DCMI数据保存在SRAM中,然后上传至上位机,上位机做 ...

你好,我向问一下这个上位机代码该怎么写,怎么解码,有偿1716050357
回复

使用道具 举报

21

主题

211

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1423
金钱
1423
注册时间
2016-8-3
在线时间
576 小时
发表于 2023-6-29 15:09:44 | 显示全部楼层
初u 发表于 2023-4-28 20:31
你好,我向问一下这个上位机代码该怎么写,怎么解码,有偿1716050357

我的联系方式19865442651
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 09:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表