资料介绍
方案介绍
一.概览
本人虽然是电子信息技术专业出身,在毕业后从事的是偏软件的工作,大多数是PC软件的开发,但一直以来,闲暇时间会利用STM32做些小的作品。对于RT-Thread这国内的物联网操作系统,其实早有耳闻,期间也参加过深圳的一次RT-Thread线下交流活动,所以对于RT-Thread是有所了解而未实际应用的程度。
借着此次RT-Thread大赛的机会,我想将PC的一些图像处理和图像识别算法放到art-pi试跑一下看看效果如何,所以本次参赛将会使用art-pi获取OV7670的图像来做像处理和图像识别。
二.开发环境
硬件:PC、ART-PI、OV7670、RGB_LCD
RT-Thread版本:rt-thread4 .0.3,art-pi adk 1.1.0
开发工具及版本:立创EDA,RT-Studio,SecureCRT
三.RT-Thread使用情况概述
线程:创建图像处理线程用于通过DCMI获取OV7670的图像,图像处理后完显示在LCD上
信号量:用于DCMI图像获取,当捕捉完一帧图像后,释放信号量给图像处理线程。
驱动:使用了drv_dcmi驱动并参考drv_ov2640移植drv_ov7670驱动
通过摄像头采集图像进行图像识别,然后将结果显示在LCD屏幕上。
五.硬件框架
本次的硬件核心由ART-PI、OV7670、LCD三部分组成:
ART-PI:stm32H750作为控制核心部分,采集图像源数据、处理图像源生成处理结果、将处理结果送到LCD显示
OV7670:作为图像源,提供320*240的RGB565图像
LCD:实时显示图像源图像和显示处理结果
六.软件流程图
1. 硬件初始化:时钟、I2C、DCMI、SDRAM、LTDC
2. 进入图像处理线程,启动拍照并等待拍照完成信号量
3. 完成拍照释放拍照完成信号量
4. 得到图像后,进行图像处理与图像识别
5. 将图像识别结果在LCD上显示
6. 回到步骤2
七.图像识别功能介绍
通过DCMI驱动获取OV7670的分辨率为320*240的RGB565原始图像。RGB565每个像素使用用下图的方式存储,每个像素占用2个字节。所以每帧320*240的图像所需内存为320*240*2=153600字节。
实际上,我们在这次项目中并不需要使用到彩色特征,所以先将RGB565转换为灰色度。灰度图其实就是每个像素占用一字节,用0-255值来形容一个像素的灰度值。因此320*240所占用的内存为76800字节。
RGB565转灰度图公式如下: Gray = R*0.299 + G*0.587 + B*0.114
提取的灰度图后,我们还需要再进行一次二值化处理,因此设定一个阈值,当灰色像素大于这个阈值我们将它改为255,低于这个值变成0。这样就得到一帧只有0和225值的图像。
得到二值化图像后,我们便可以寻找要识别物体了。在此使用九宫格的方式提取连通分量,原理其实很简单,就是在九宫格里寻找连在一起的像素,如果能找到便将该像素便将该像素的坐标(位于X行,y列)写入到链表里。如此循环,直到找完所有像素。
完成连通分量的提取后便是特征提取了,我们还是采用九宫格分割法,将取得的图像平均分割为9个区域,再计算9个区域中值为255像素的个数。通过这一步算法,我们得到了9组特征数据。
本次用了两种特征提取方式:
1. 通过水平与垂直方向的穿越数找出部分数字
以数字0和7为例,在1/2宽度处,0和7稳定的得到垂直穿越数是2.而在1/2高度,0的水平穿越数是2,7的水平穿越数是1.
2. 在图像的水平和垂直的中间切分成四块,根据四个部分不同像素比例找出其他数字。以2和3为例 ,在右下角部分,3的每一行都会有像素点,而2会缺几行。因此2的像素更少从而区分2和3。
最终检测效果如下图:
八.比赛感悟
虽然标题是比赛感悟,实际上比赛并不是我的目的。RT-Thread我知道它更久了,但是一直没有去更进一步使用RT-Thread。这次比赛让我深入了解了RT-Thread的生态系统,给我的感觉真的太惊喜了。RT-Thread平台拥有丰富的组件,完善的各种外设驱动,通过官方的RT-Studio基本上做到入手即用了。
当时拿到ART-PI,通过RT-Thread SETTING进行勾选,再使用CubeMX选择外设,生成引脚初始化代码后。我本次项目的软件基本平台已经完成了,我只需要专注于我的应用层开发便可以了,这真的是太便利了。
通过本次比赛,让我对RT-Thread获得相当大的好感,我想未来硬件项目当中,我会毫不犹豫的选择RT-Thread代替其他实时操作系统。
- ART-PI重力感应无线智能小车第一弹——ART-PI扩展板设计
- 【RT-Thread作品秀】基于ART-PI的数字图像处理与识别
- 【技术三千问】之《玩转ART-Pi》,看这篇就够了!
- 【STM32H750】玩转ART-Pi(一)——使用STM32CUBMX生成TouchGFX工程
- 数字图像处理的学习教程免费下载 32次下载
- 进行数字图像处理与识别系统的开发教程免费下载 6次下载
- 数字图像处理的经典复习资料免费下载 17次下载
- 基于数字图像处理的输电线路状态智能识别技术_金华 3次下载
- 数字图像处理与Matlab 0次下载
- 数字图像处理技术__PPT - 复件 0次下载
- 数字图像处理试题集 3次下载
- 数字图像处理实验报告 0次下载
- 基于Blackfin 561的数字图像的成像处理
- 数字图像处理在指针式指示表读数识别中的应用
- MATLAB在数字图像处理中的应用
- 在 ART-Pi Smart 体验 RT-Thread Smart v5.1.0 342次阅读
- 数字图像处理的基础知识 1008次阅读
- 数字图像数据量的计算 4958次阅读
- ART-Pi Smart开发板开箱体验 1075次阅读
- ART-PI Smart开发板介绍与开发环境的建立 1524次阅读
- 基于计算机的图像处理方法 4638次阅读
- 探析数字图像处理常用的方法 5089次阅读
- MATLAB对数字图像处理有各种函数支持 5149次阅读
- 指纹识别图像获取的主要技术及原理解析 5563次阅读
- 指纹识别,图像获取技术四大类型原理介绍 3546次阅读
- 数字图像处理平台系统方案详解 4590次阅读
- 一文看懂数字图像的取样和量化 1.9w次阅读
- 指纹识别中的图像处理研究--指纹图像的特性分析(一) 5832次阅读
- 基于多DSP与FPGA的实时图像处理系统设计 4178次阅读
- 数字图像处理及应用主要有哪些 3.3w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多