社区导航

 
查看: 626|回复: 0

[经验分享] 【GD32F350 都市青年家庭安防卫士 】第九贴 GD32如何进行图像处理

[复制链接]

337

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-10-10 22:40:18 | 显示全部楼层 |阅读模式
本帖最后由 传媒学子 于 2018-10-10 22:43 编辑

【GD32F350 都市青年家庭安防卫士 】第九贴 GD32如何进行图像处理

前言
图像一般来说都是由像素点阵组成的,一般来讲,都是占用较大内存的。但在自动驾驶,机器人视觉以及一般的视频图像处理中,对于速率都是要求较高的。因此,如何合理利用GD32F350这款arm处理器来进行特定的图像算法,还是需要认真规划研究的。
这里,我分享一下,我自己的算法思路。

一、思路解析
此次,我是用于特定领域的家庭安防,主要是针对都市生活的上班族,特别是白天上班,家里没人的一类人。方案,是采用低功耗,低成本的,较高准确度的安防解决方案。
因此,尽量系统采用这款芯片自带的SDRM和FLASH来解决。

而,GD32F350自带DMA, 16KB SDRM和128KBflash, 各项外设应有尽有,而且内部振荡器可以很容易通过内部的PLL生成108MHz的主频,非常适合这个项目。

在第八贴中,我读到了81X50大小的灰度图像,如果你按照这个图像大小进行算法处理,你会发现内存(SDRM)会不够用的.
为了能够比较两幅图像的不同,我至少需要存储两幅4050Bytes大小的图像, 两幅的话就占用了8Kb的内存,还算可以。但是,我们再采集图像是,是用的GPIOC PC6~PC13,那么DMA传输,需要16-bit. 因此,需定义一个大小为4050 宽度为16-bit的内存,这就又8Kb, 你会发现已经满了。。。  

二、具体实施
所以,在实际操作中,我是这样定义的:

  1. __IO uint16_t data_buf[4050]={0}; //从I/0取图像[/color]
  2. [color=#001004]uint8_t image_buf[4050]={0}; //输出81*50的8-bit灰度图像;[/color]
  3. [color=#001004]uint8_t data0[450] ={0};[/color]
  4. [color=#001004]uint8_t data1[450] ={0};//存储当前帧图像[/color]
  5. [color=#001004]uint8_t data2[450] ={0};//存储上帧图像
复制代码


也就是我在我的图像中,挑选了450个特征点进行检测,当然,你可以选用其它的算法。

在比较的过程中,最好是关闭场行中断,可以隔一帧,一帧采集图像,另一帧进行算法分析,这是智能车模大赛中常用的解决方法。

三、为什么我不用二值化处理?

因为,兆易创新的这款arm内存还算可以,所以我没有必要再次压缩图像。另外,一个重要的因素,如果我采用二值化处理,你的图像会随着室内亮度变化,需要随时更改比较阈值,我觉得是麻烦的,阈值的选择会极大的影响判断的准确度。

四、实际效果

从实际测得效果来看,还是很准确灵敏的。

五、通过matlab来将81*50的8bit灰度图像显示出来

在最后,我给大家分享一下我的学习心得:

串口数据打印时,数据以printf(" %0.3d " , (uint8_t)data_buf) 显示,  行结束打印printf("\r\n");        
打印完成时,将数据拷贝到txt文件中,保证文件行列一致。

打开matlab, 输入a = [ ]; 然后拷贝txt中的数据至[ ]中,亦可以load或者importdata等形式读取图像矩阵。

此时,imshow(a) 会出现一幅图片,有时会是白色的,那么代表你的数据被matlab认为是double类型了
不要着急,用imshow(a,[ ])显示即可。

而此时获取的图像是左右上下倒置的,你可以采用
左右翻转:a = fliplr(a);
上下翻转:b = flipud(a);
用imshow(a,[ ]) 即可获取你的想要的图片。

enjoy it. ture图像.jpg

附件,是这幅图像的原始数据,感兴趣的可以按照我的方法试一下。

最后,不得不说,用GD32来处理图像还是很好的。

End~

此帖出自GD32 MCU论坛

ture图像_原始数据.txt

19.87 KB, 下载次数: 0



回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-10-24 12:30 , Processed in 0.056788 second(s), 15 queries , Gzip On, MemCache On.

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