資料介紹
方案介紹
一.概覽
? 本人雖然是電子信息技術(shù)專業(yè)出身,在畢業(yè)后從事的是偏軟件的工作,大多數(shù)是PC軟件的開發(fā),但一直以來,閑暇時(shí)間會(huì)利用STM32做些小的作品。對(duì)于RT-Thread這國(guó)內(nèi)的物聯(lián)網(wǎng)操作系統(tǒng),其實(shí)早有耳聞,期間也參加過深圳的一次RT-Thread線下交流活動(dòng),所以對(duì)于RT-Thread是有所了解而未實(shí)際應(yīng)用的程度。
借著此次RT-Thread大賽的機(jī)會(huì),我想將PC的一些圖像處理和圖像識(shí)別算法放到art-pi試跑一下看看效果如何,所以本次參賽將會(huì)使用art-pi獲取OV7670的圖像來做像處理和圖像識(shí)別。
二.開發(fā)環(huán)境
硬件:PC、ART-PI、OV7670、RGB_LCD
RT-Thread版本:rt-thread4 .0.3,art-pi adk 1.1.0
開發(fā)工具及版本:立創(chuàng)EDA,RT-Studio,SecureCRT
三.RT-Thread使用情況概述
線程:創(chuàng)建圖像處理線程用于通過DCMI獲取OV7670的圖像,圖像處理后完顯示在LCD上
信號(hào)量:用于DCMI圖像獲取,當(dāng)捕捉完一幀圖像后,釋放信號(hào)量給圖像處理線程。
驅(qū)動(dòng):使用了drv_dcmi驅(qū)動(dòng)并參考drv_ov2640移植drv_ov7670驅(qū)動(dòng)
通過攝像頭采集圖像進(jìn)行圖像識(shí)別,然后將結(jié)果顯示在LCD屏幕上。
五.硬件框架
本次的硬件核心由ART-PI、OV7670、LCD三部分組成:
ART-PI:stm32H750作為控制核心部分,采集圖像源數(shù)據(jù)、處理圖像源生成處理結(jié)果、將處理結(jié)果送到LCD顯示
OV7670:作為圖像源,提供320*240的RGB565圖像
LCD:實(shí)時(shí)顯示圖像源圖像和顯示處理結(jié)果
六.軟件流程圖
1.?? ?硬件初始化:時(shí)鐘、I2C、DCMI、SDRAM、LTDC
2.?? ?進(jìn)入圖像處理線程,啟動(dòng)拍照并等待拍照完成信號(hào)量
3.?? ?完成拍照釋放拍照完成信號(hào)量
4.?? ?得到圖像后,進(jìn)行圖像處理與圖像識(shí)別
5.?? ?將圖像識(shí)別結(jié)果在LCD上顯示
6.?? ?回到步驟2
七.圖像識(shí)別功能介紹
通過DCMI驅(qū)動(dòng)獲取OV7670的分辨率為320*240的RGB565原始圖像。RGB565每個(gè)像素使用用下圖的方式存儲(chǔ),每個(gè)像素占用2個(gè)字節(jié)。所以每幀320*240的圖像所需內(nèi)存為320*240*2=153600字節(jié)。
?
實(shí)際上,我們?cè)谶@次項(xiàng)目中并不需要使用到彩色特征,所以先將RGB565轉(zhuǎn)換為灰色度。灰度圖其實(shí)就是每個(gè)像素占用一字節(jié),用0-255值來形容一個(gè)像素的灰度值。因此320*240所占用的內(nèi)存為76800字節(jié)。
RGB565轉(zhuǎn)灰度圖公式如下:?Gray = R*0.299 + G*0.587 + B*0.114
提取的灰度圖后,我們還需要再進(jìn)行一次二值化處理,因此設(shè)定一個(gè)閾值,當(dāng)灰色像素大于這個(gè)閾值我們將它改為255,低于這個(gè)值變成0。這樣就得到一幀只有0和225值的圖像。
得到二值化圖像后,我們便可以尋找要識(shí)別物體了。在此使用九宮格的方式提取連通分量,原理其實(shí)很簡(jiǎn)單,就是在九宮格里尋找連在一起的像素,如果能找到便將該像素便將該像素的坐標(biāo)(位于X行,y列)寫入到鏈表里。如此循環(huán),直到找完所有像素。
完成連通分量的提取后便是特征提取了,我們還是采用九宮格分割法,將取得的圖像平均分割為9個(gè)區(qū)域,再計(jì)算9個(gè)區(qū)域中值為255像素的個(gè)數(shù)。通過這一步算法,我們得到了9組特征數(shù)據(jù)。
本次用了兩種特征提取方式:
1.?通過水平與垂直方向的穿越數(shù)找出部分?jǐn)?shù)字
以數(shù)字0和7為例,在1/2寬度處,0和7穩(wěn)定的得到垂直穿越數(shù)是2.而在1/2高度,0的水平穿越數(shù)是2,7的水平穿越數(shù)是1.
?
2.?在圖像的水平和垂直的中間切分成四塊,根據(jù)四個(gè)部分不同像素比例找出其他數(shù)字。以2和3為例 ,在右下角部分,3的每一行都會(huì)有像素點(diǎn),而2會(huì)缺幾行。因此2的像素更少?gòu)亩鴧^(qū)分2和3。
?
最終檢測(cè)效果如下圖:
八.比賽感悟? ? ? ?
? ? ? ?雖然標(biāo)題是比賽感悟,實(shí)際上比賽并不是我的目的。RT-Thread我知道它更久了,但是一直沒有去更進(jìn)一步使用RT-Thread。這次比賽讓我深入了解了RT-Thread的生態(tài)系統(tǒng),給我的感覺真的太驚喜了。RT-Thread平臺(tái)擁有豐富的組件,完善的各種外設(shè)驅(qū)動(dòng),通過官方的RT-Studio基本上做到入手即用了。
???????當(dāng)時(shí)拿到ART-PI,通過RT-Thread SETTING進(jìn)行勾選,再使用CubeMX選擇外設(shè),生成引腳初始化代碼后。我本次項(xiàng)目的軟件基本平臺(tái)已經(jīng)完成了,我只需要專注于我的應(yīng)用層開發(fā)便可以了,這真的是太便利了。
? ? ? ?通過本次比賽,讓我對(duì)RT-Thread獲得相當(dāng)大的好感,我想未來硬件項(xiàng)目當(dāng)中,我會(huì)毫不猶豫的選擇RT-Thread代替其他實(shí)時(shí)操作系統(tǒng)。
- ART-PI重力感應(yīng)無線智能小車第一彈——ART-PI擴(kuò)展板設(shè)計(jì)
- 【RT-Thread作品秀】基于ART-PI的數(shù)字圖像處理與識(shí)別
- 【技術(shù)三千問】之《玩轉(zhuǎn)ART-Pi》,看這篇就夠了!
- 【STM32H750】玩轉(zhuǎn)ART-Pi(一)——使用STM32CUBMX生成TouchGFX工程
- 數(shù)字圖像處理的學(xué)習(xí)教程免費(fèi)下載 32次下載
- 進(jìn)行數(shù)字圖像處理與識(shí)別系統(tǒng)的開發(fā)教程免費(fèi)下載 6次下載
- 數(shù)字圖像處理的經(jīng)典復(fù)習(xí)資料免費(fèi)下載 17次下載
- 基于數(shù)字圖像處理的輸電線路狀態(tài)智能識(shí)別技術(shù)_金華 3次下載
- 數(shù)字圖像處理與Matlab 0次下載
- 數(shù)字圖像處理技術(shù)__PPT - 復(fù)件 0次下載
- 數(shù)字圖像處理試題集 3次下載
- 數(shù)字圖像處理實(shí)驗(yàn)報(bào)告 0次下載
- 基于Blackfin 561的數(shù)字圖像的成像處理
- 數(shù)字圖像處理在指針式指示表讀數(shù)識(shí)別中的應(yīng)用
- MATLAB在數(shù)字圖像處理中的應(yīng)用
- 在 ART-Pi Smart 體驗(yàn) RT-Thread Smart v5.1.0 342次閱讀
- 數(shù)字圖像處理的基礎(chǔ)知識(shí) 1008次閱讀
- 數(shù)字圖像數(shù)據(jù)量的計(jì)算 4958次閱讀
- ART-Pi Smart開發(fā)板開箱體驗(yàn) 1075次閱讀
- ART-PI Smart開發(fā)板介紹與開發(fā)環(huán)境的建立 1524次閱讀
- 基于計(jì)算機(jī)的圖像處理方法 4638次閱讀
- 探析數(shù)字圖像處理常用的方法 5089次閱讀
- MATLAB對(duì)數(shù)字圖像處理有各種函數(shù)支持 5149次閱讀
- 指紋識(shí)別圖像獲取的主要技術(shù)及原理解析 5563次閱讀
- 指紋識(shí)別,圖像獲取技術(shù)四大類型原理介紹 3546次閱讀
- 數(shù)字圖像處理平臺(tái)系統(tǒng)方案詳解 4590次閱讀
- 一文看懂數(shù)字圖像的取樣和量化 1.9w次閱讀
- 指紋識(shí)別中的圖像處理研究--指紋圖像的特性分析(一) 5832次閱讀
- 基于多DSP與FPGA的實(shí)時(shí)圖像處理系統(tǒng)設(shè)計(jì) 4178次閱讀
- 數(shù)字圖像處理及應(yīng)用主要有哪些 3.3w次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多