來源:ku77
openMV簡介
OpenMV是由美國克里斯團隊基于MicroPython發起的開源機器視覺項目,目的是創建低成本,可擴展,使用python驅動的機器視覺模塊。OpenMV搭載了MicroPython解釋器,使其可以在嵌入式端進行python開發。OpenMV基于32位,ARM Cortex-M7內核的OpenMV-H7, 并結合各種攝像頭,可以進行多種機器視覺應用的實現,比如人臉檢測,物體分類等。
對于省錢黨來說這是一個開源的項目,所以有興趣的可以自己上網找相關資料自制一個,可以省個一兩百塊大洋。安利一篇文章
一、硬件準備
1.OpenMV
2.一根micro usb的數據線(一定要有數據傳輸功能的)
二、軟件準備
1.在openMV官網下載openmv IDEhttps://book.openmv.cc/
IDE是由Qt Creator編寫,可以跨平臺使用,官網提供了windows、mac os、Linux ubuntu 32位和64位,以及樹莓派的版本,滿足各個平臺的開發,使得其應用更加廣泛。Windows系統就選第一個啦。
下載得到安裝包:
安裝過程一路Next,值得一提的是默認安裝C盤,可以手動修改安裝路徑為其它盤,不影響使用。
下一步可以連接上硬件:
電腦將自動識別出一個U盤:
這是由于單片機燒入了固件程序將內部的Flash虛擬成了一個U盤可以看到這個U盤容量特別小,因此在后期的使用過程中建議插SD卡。
用SD卡的好處多多:
1.SD卡也是一個文件系統,當上電的時候,如果插入SD卡,那么SD卡的文件系統就會自動取代內置的Flash文件系統,每次上電,就會運行SD卡中的main.py啦,還可以減少對stm32flash擦除次數,延長壽命。
2.SD卡最大支持2TB的容量。因此可以保存些大的程序,還可以放置訓練好的神經網絡模型,也可以放置需要對比的圖片等進行調用。
內部放置了三個文件,其中main.py文件就是要運行的程序文件。
注:有時會出現驅動安裝不完整的情況,打開設備管理器可以看到有個感嘆號,我們可以更新驅動程序
官網上有非常詳細的解決步驟:在這
三、軟件的功能與使用
OpenMV提供了兩者閾值設置方案。分別是閾值編譯器和直方圖的方式選擇閾值。
閾值編譯器:優點,所尋找到的目標顏色更加合理,其他相似顏色區域的干擾比較小。缺點,調節LAB的最大最小值比較花費時間。
直立方圖恰好相反,他很容易找到LAB的最大最小值的大體區間,但是容易受到相似顏色區域的干擾。所以,建議兩者配合使用。
先用直立方圖找到LAB的最大最小值的大體區間,再利用閾值編譯器對LAB的最大最小值進行微調。
軟件安裝完成后在主菜單可以找到這個圖標:
打開這個軟件會跳出一個默認的helloworld.py的例程(其它示例在文件選項可以看到),軟件頁面如下:
頁面左邊是代碼區域,右上角是幀緩沖區(可以顯示攝像頭拍到的),我們要選擇紅色盒子作為目標對象,只需要在幀緩沖區,拖動鼠標左鍵即可。右下角直方圖可以選擇四種色彩空間:
·RBG色彩空間:R代表紅色,B代表藍色,G代表綠色。它是一種線性色彩空間,其中顏色是通過紅色,綠色和藍色值的線性組合獲得的。(做顏色識別的功能時比較方便)
·灰度(GRAY)色彩空間:單通道格式,值為0~255,顏色值為黑白之間,0是黑色,255是白色。(處理識別數字或輪廓等二值計算時速度比較快)
·LAB色彩空間:Lab顏色空間中,L亮度;a的正數代表紅色,負端代表綠色;b的正數代表黃色,負端代表藍色。不像RGB和CMYK色彩空間,Lab顏色被設計來接近人類視覺。()
·YUV色彩空間:“Y”表示明亮度,也就是灰階值,“U”和“V”表示的則是色度,作用是描述影像色彩及飽和度,用于指定像素的顏色。
參考:常用色彩空間概念
根據直方圖(LAB色彩空間)可知,我們的L最大值選擇80,最小值為60。A最大值為40,最小值為-20。B的最大值為20,最小值為-10。(注:這個只需要包含絕大部分就行)
閾值編譯器只有LAB閾值和灰度閾值設置,由上述四圖可得,LAB分布值比較集中,所以選用LAB閾值。
之后進行閾值編譯器設置:
左上方工具——>機器視覺——>閾值編譯器——>幀緩沖區。
可對要判斷圖像的LAB值進行調整。注意:這個時候OpenMV會截取幀緩沖區內照片(當前的圖片)作為LAB值調整。所以我們采用閾值編譯器的時候,需要提前將目標識別單位(紅色盒子)放在OpenMV攝像頭之前。再進行操作。
根據直立方圖的值,我們調整LAB最大和最小值,盡可能地讓要目標識別對象變成全白色。(注:即使沒有全部變成白色也不影響,反正最后會把所有沒有被濾除的白色區域變成一個大框)然后復制下方的LAB閾值。
(58, 80, 19, 51, -10, 21)和直方圖讀取的數做一個對比(60,80,-20,40,-10,20)。
在這里只是舉個例子,其它識別中,也可用其它的色彩空間進行識別。
審核編輯:湯梓紅
-
usb
+關注
關注
60文章
7980瀏覽量
266097 -
機器視覺
+關注
關注
162文章
4406瀏覽量
120734 -
開源
+關注
關注
3文章
3407瀏覽量
42713 -
openMV
+關注
關注
3文章
39瀏覽量
9853 -
Micropython
+關注
關注
0文章
68瀏覽量
4787
原文標題:OpenMV 初識
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論