1簡(jiǎn)述
本設(shè)計(jì)基于顏色特征識(shí)別實(shí)現(xiàn),這個(gè)并不算高大上的算法,個(gè)人能力有限再加上FPGA算法實(shí)現(xiàn)難度不小,所以采用最簡(jiǎn)單的算法實(shí)現(xiàn),作為FPGA的入門學(xué)習(xí)足以。這個(gè)設(shè)計(jì)是19年4月左右做出來(lái)的,那時(shí)自己對(duì)FPGA的認(rèn)知比較朦朧、FPGA的開發(fā)能力也一般,所以在本設(shè)計(jì)上有很多有問題的地方,到現(xiàn)在也沒時(shí)間去修改,希望有能力的小伙伴來(lái)完善,在此先謝謝了!
在初學(xué)FPGA的時(shí)候,根據(jù)鄧堪文的《SDRAM的那些事兒》視頻教程完成了基于FPGA的圖像采集系統(tǒng)。但是Bug很多,當(dāng)時(shí)我的能力太差沒能解決問題 ,所以后面的做的圖像處理項(xiàng)目都沒用使用。本設(shè)計(jì)也是一樣,使用的是FPGA板卡配送的圖像采集例程,我在此基礎(chǔ)上進(jìn)行的開發(fā),添加圖像處理模塊以及二軸舵機(jī)控制模塊。
2 算法架構(gòu)
圖像采集顯示流程一般是:FPGA把攝像頭采集圖像數(shù)據(jù)緩存到SDRAM,再?gòu)腟DRAM搬運(yùn)到LCD驅(qū)動(dòng)進(jìn)行輸出顯示。從圖1總體框圖可以知道,在LCD圖像流輸出時(shí)進(jìn)行圖像處理。圖像處理模塊采用流水線處理的方式,先后完成RGB2YCbCr(二值化)、膨脹腐蝕的形態(tài)學(xué)濾波和目標(biāo)物體坐標(biāo)提取,最后輸出圖像以及物體的坐標(biāo)。然后舵機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)兩軸舵機(jī)實(shí)現(xiàn)實(shí)時(shí)追蹤。
圖1
3 圖像算法模塊的簡(jiǎn)單介紹
下圖是圖像處理模塊頂層的部分截屏,這個(gè)實(shí)現(xiàn)圖像選擇輸出,通過(guò)按鍵來(lái)選擇原圖、二值化、腐蝕以及膨脹這四種圖像效果的其中之一輸出。
圖2
頂層例化所有的圖像算法模塊,同時(shí)也有串口,這是為了方便調(diào)試二值化的閾值參數(shù),可以縮短調(diào)試時(shí)間,提高效率。
圖3
下圖是目標(biāo)物體坐標(biāo)提取模塊的,計(jì)算辦法就是把有效的坐標(biāo)做累加,最后除以有效像素的數(shù)量就可以得到目標(biāo)物體的坐標(biāo)了。
圖4
串口接收的調(diào)參數(shù)據(jù)最后用在RGB2Ycbcr模塊里,未注釋的就是最后調(diào)參完成確定的閾值。當(dāng)你需要調(diào)整閾值時(shí)把上部分注釋,取消下部分注釋。串口調(diào)參命令為:01xx0102xx0203xx0304xx04。xx為你需要輸入的值,4個(gè)xx分別對(duì)應(yīng)調(diào)參的四個(gè)數(shù)據(jù)。
圖5
圖像處理有疑惑就這些地方了,其他的像算法實(shí)現(xiàn)原理自己百度看博客學(xué)習(xí)吧,內(nèi)容太多但是不復(fù)雜。
4 舵機(jī)驅(qū)動(dòng)模塊
舵機(jī)控制就是產(chǎn)生PWM,具體原理百度。下圖產(chǎn)生0.4us的基準(zhǔn)時(shí)間,在這個(gè)基準(zhǔn)上再產(chǎn)生20ms的舵機(jī)控制周期,pulse_cnt。
圖6
將圖像處理模塊得到的水平、垂直兩個(gè)方向的坐標(biāo)進(jìn)行轉(zhuǎn)換,得到舵機(jī)旋轉(zhuǎn)角度的控制值。坐標(biāo)與中心坐標(biāo)相減得到目前物體的偏移量,這里除以一個(gè)系數(shù)是進(jìn)行PID的比例調(diào)節(jié)。直接用 / 有點(diǎn)違規(guī),這里最好使用除法器IP處理下。最后得到x_value和y_value值,這是控制舵機(jī)旋轉(zhuǎn)角度的值,與上面得到的pulse_cnt比較輸出PWM。
圖7
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
603018 -
圖像采集
+關(guān)注
關(guān)注
2文章
299瀏覽量
41276 -
算法
+關(guān)注
關(guān)注
23文章
4607瀏覽量
92841
原文標(biāo)題:FPGA開源項(xiàng)目:小球追蹤系統(tǒng)設(shè)計(jì)(臨時(shí)開源)
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論