星瞳科技OpenMV視頻教程03-驅動、IDE的安裝與使用
星瞳科技OpenMV官方代理視頻地址:點擊這裡!
嗶哩嗶哩地址:
星瞳科技OpenMV視頻教程03-驅動、IDE的安裝與使用_野生技術協會_科技_bilibili_嗶哩嗶哩
10分鐘快速上手
視頻:
- http://pan.baidu.com/s/1nvdkucp
- http://pan.baidu.com/s/1qX9rYS8
下載軟體
中國官網地址:http://openmv.cc/downloads
美國官網下載地址:https://openmv.io/pages/download
Windows
下載後一直點擊下一步,就正常安裝完成了。
如果沒有圖像窗口,從右側可以拖拽出來。
安裝驅動
將OpenMV插到電腦。 正常情況下,會自動安裝驅動,一切不需要手動安裝。在設備管理器中會看到:
但是可能在一些電腦,驅動不會自動安裝。 這時在設備管理器中會出現一個嘆號,表示沒有正常安裝驅動。
這時就需要自己手動安裝。 首先下載驅動: http://pan.baidu.com/s/1pKQd59L 解壓到桌面,然後右鍵設備管理器中的這個設備,然後點升級驅動:
中國特色社會主義 Windows故障
如果出現下面的情況(此處極少發生,屬於電腦故障):
首先聲明,這種情況屬於盜版用戶自己的鍋:
- 能換電腦的,用其他人的電腦。
- 能買正版的,請購買正版Windows(誰叫一年免費升級的時候不升級,花錢吧),只要888元。 https://www.microsoftstore.com.cn/windows/windows-10-home/p/kw9-00265?Icid=StoreNavi_Windows
- 不能支付正版的,請在MSDN上使用純凈版,自行激活(屬於一定程度的違法行為,自行權衡)。
- 既不能購買正版,又不能重裝系統,按照下面的方法折騰吧。
這個問題是因為,有些盜版系統(說的就是你,Ghost),把一些不常用的驅動刪除了 但是OpenMV的驅動依賴這些驅動,所以要把他們粘貼回來。
故障參考資料: http://www.geek-workshop.com/forum.php?mod=viewthread&tid=875
http://www.geek-workshop.com/thread-4462-1-1.html
最後,建議:
- 買電腦的時候,買帶正版系統的電腦。
- 打開Windows更新(默認就是打開的,不要手賤關掉它)。
- 即使使用盜版的系統,請在MSDN上下載純凈完整版。
- 千萬不要用Ghost安裝系統!90%的驅動問題,原因就是Ghost。
MacOS
下載完IDE軟體,雙擊安裝程序。一直點擊下一步就可以。
如果提示說只能安裝App Store和被認可的程序
,那麼在安全性與隱私裡面設置成任何來源
。
運行hello world!
首先確保,IDE和驅動正常安裝完成。
將OpenMV通過USB線插入電腦,此時會有一個U盤出現
打開OpenMV IDE。
重點看這張圖。
- 點擊
連接
- 再點擊
運行
在右上角的圖像窗里就正確顯示圖像了。 點擊最下方的Serial Terminal,會彈出終端窗口。 同時,在Serial Terminal里會一直列印數據,這個是幀率。是在代碼中第17行print(clock.fps())
執行的結果。
追蹤小球
將編輯框內的內容全部刪掉,換成以下代碼:
# 色塊監測 例子## 這個例子展示了如何通過find_blobs()函數來查找圖像中的色塊# 這個例子查找的顏色是深綠色import sensor, image, time# 顏色追蹤的例子,一定要控制環境的光,保持光線是穩定的。green_threshold = ( 0, 80, -70, -10, -0, 30)#設置綠色的閾值,括弧裡面的數值分別是L A B 的最大值和最小值(minL, maxL, minA,# maxA, minB, maxB),LAB的值在圖像左側三個坐標圖中選取。如果是灰度圖,則只需#設置(min, max)兩個數字即可。sensor.reset() # 初始化攝像頭sensor.set_pixformat(sensor.RGB565) # 格式為 RGB565.sensor.set_framesize(sensor.QQVGA) # 使用 QQVGA 速度快一些sensor.skip_frames(10) # 跳過10幀,使新設置生效sensor.set_auto_whitebal(False)#關閉白平衡。白平衡是默認開啟的,在顏色識別中,一定要關閉白平衡。clock = time.clock() # 追蹤幀率while(True): clock.tick() # Track elapsed milliseconds between snapshots(). img = sensor.snapshot() # 從感光晶元獲得一張圖像 blobs = img.find_blobs([green_threshold]) #find_blobs(thresholds, invert=False, roi=Auto),thresholds為顏色閾值, #是一個元組,需要用括弧[ ]括起來。invert=1,反轉顏色閾值,invert=False默認 #不反轉。roi設置顏色識別的視野區域,roi是一個元組, roi = (x, y, w, h),代表 #從左上頂點(x,y)開始的寬為w高為h的矩形區域,roi不設置的話默認為整個圖像視野。 #這個函數返回一個列表,[0]代表識別到的目標顏色區域左上頂點的x坐標,[1]代表 #左上頂點y坐標,[2]代表目標區域的寬,[3]代表目標區域的高,[4]代表目標 #區域像素點的個數,[5]代表目標區域的中心點x坐標,[6]代表目標區域中心點y坐標, #[7]代表目標顏色區域的旋轉角度(是弧度值,浮點型,列表其他元素是整型), #[8]代表與此目標區域交叉的目標個數,[9]代表顏色的編號(它可以用來分辨這個 #區域是用哪個顏色閾值threshold識別出來的)。 if blobs: #如果找到了目標顏色 for b in blobs: #迭代找到的目標顏色區域 # Draw a rect around the blob. img.draw_rectangle(b[0:4]) # rect #用矩形標記出目標顏色區域 img.draw_cross(b[5], b[6]) # cx, cy #在目標顏色區域的中心畫十字形標記 print(clock.fps()) # 注意: 你的OpenMV連到電腦後幀率大概為原來的一半 #如果斷開電腦,幀率會增加
運行程序後
這個程序會根據green_threshold的閾值,進行色塊查找。
更改閾值
那麼如何自己更改這個閾值呢?我們怎麼知道我們的物體的顏色閾值呢?
- 數字列表項目首先在攝像頭中找到目標顏色,在framebuffer中的目標顏色上左擊圈出一個矩形
- 在framebuffer下面的坐標圖中,選擇LAB Color Space。
- 三個坐標圖分別表示圈出的矩形區域內的顏色的LAB值,選取三個坐標圖的最大最小值,即( 0, 60, -70, -10, -0, 30)
文件系統
文件系統是OpenMV(或者說MicroPython)特別優秀的特點。什麼是文件系統呢?簡單來說,就是各種文件夾和文件以樹形結構排列,簡單來說,就是你的U盤啦。而且在代碼中可以使用路徑來進行讀入文件,創建文件等操作。
離線運行
那麼問題來了?OpenMV支持文件系統有什麼用呢?
答案是,相當方便! OpenMV把內置Flash虛擬成一個文件系統,當你插入OpenMV到電腦上的時候,電腦會彈出一個U盤!裡面就是OpenMV的文件系統。當你想燒錄固件的時候,直接把腳本文件複製到這個「U盤」的main.py中。每次上電的時候,OpenMV會自動運行裡面的main.py,這樣就實現了離線運行。
一鍵下載
在工具欄里,點擊Save open script to OpenMV Cam
, IDE就會自動將當前文件保存到main.py,很方便。
供電
OpenMV有兩個電源輸入端:
- VIN(有時也會標識為VCC)
- USB輸入
VIN輸入為3.7V~7V,推薦5V。 USB和VIN可以同時供電。
OpenMV有一個電源輸出端:
- 3.3V,這個電壓是OpenMV的穩壓器輸出的,用於給其他感測器供電。 注意:不要給3.3V直接供電,沒有內部晶元的保護,很容易燒毀。
SD卡
那如果我的代碼有10萬行,內置的flash不夠用怎麼辦?我想保存圖片怎麼辦?
答案是,可以使用SD卡!
那麼SD卡怎麼用呢?SD卡也是一個文件系統,當上電的時候,如果插入SD卡,那麼SD卡的文件系統就會自動取代內置的Flash文件系統,每次上電,就會運行SD卡中的main.py
啦,是不是很直觀,很方便。SD卡最大支持32G的容量。
歡迎大家點贊!!!
推薦閱讀: