OpenMV巡线
你向別人介紹openmv就說哦這是一個(gè)嵌入式的機(jī)器視覺模塊。一個(gè)攝像頭模塊帶有主控,可以用Python編程。
?
用openMV巡線
借助的是線性回歸,線性回歸的意思就是找出一條直線嘛,用最小二乘法,和曲線的吻合度最高,那個(gè)曲線就是道路的邊緣。
先把圖像進(jìn)行二值化。二值化前要設(shè)置閾值,比如在這個(gè)閾值下面的設(shè)置為白色,閾值上面的設(shè)置為黑色。
?
?
openMV好像是專門一個(gè)單片機(jī),是不是意味著它要和主控進(jìn)行通信。
?
?
?
仔細(xì)想想是可以對(duì)所有像素值做個(gè)線性回歸。本身二值化后,像素點(diǎn)要么為0要么為1,就對(duì)1的點(diǎn)做線性回歸嘛,或者這樣,那一個(gè)個(gè)黑點(diǎn)你就看作坐標(biāo)系里面的一個(gè)點(diǎn)嘛,讓你對(duì)這些點(diǎn)做線性回歸,這樣不就會(huì)了么。你對(duì)白點(diǎn)做線性回歸可能是和跟黑點(diǎn)做線性回歸的結(jié)果是一樣的,當(dāng)然這是我的猜測(cè)。
?
有專門的openMV IDE編寫代碼,python語(yǔ)言編程。看下面,openMV確實(shí)是有專門的主控芯片的。說明它的代碼不是跑在飛控上,得和無人機(jī)主控進(jìn)行通信,實(shí)時(shí)傳回?cái)?shù)據(jù)。
?
總結(jié)