openmv學習日記(一)初識openmv

2021-10-04 10:07:04 字數 2286 閱讀 8189

由於最近需要使用openmv,網上資源也比較少,在學習的過程中能夠將學習過程發出來,希望大家多指導!!

openmv是一種micropython支援的pyboard板,內建了python直譯器,微控制器上電後會自動執行裡面的main.py檔案。大概意思就是,晶元執行時通過python直譯器讀取main.py裡面的程式(類似python直譯器編譯了main.py檔案程式)

所以看到這,我們就知道我們程式設計是用一種micropython語言,那麼micropython是什麼語言呢?

micropython是執行在微控制器上的python,遵守mit協議。 micro python是python 3程式語言的乙個簡潔和快速實現,專門優化執行於乙個微控制器上。它基於ansic,語法跟python 3基本一致,擁有自家的解析器、編譯器、虛擬機器和類庫等。

所以我們要進行開發首先得學會開發語言micropython,語法與python3差不多,如果學過python的很快可以上手,沒學過的也不要灰心,這個語言入門比較簡單,可以參考部落格

那麼pyboard板又是什麼?

pyboard是官方的micropython微控制器板,完全支援軟體功能。

openmv攝像頭是一款小巧,低功耗,低成本的電路板,它幫助你很輕鬆的完成機器視覺(machine vision)應用。可以完全控制openmv,包括io引腳。你可以很容易的使用外部終端觸發拍攝或者或者執行演算法,也可以把演算法的結果用來控制io引腳。

openmv上的機器視覺演算法包括尋找色塊、人臉檢測、眼球跟蹤、邊緣檢測、標誌跟蹤等。可以用來實現非法入侵檢測、產品的殘次品篩選、跟蹤固定的標記物等。使用者僅需要寫一些簡單的python**,即可輕鬆的完成各種機器視覺相關的任務。小巧的設計,使得openmv可以用到很多創意的產品上。比如,可以給自己的機械人提供周邊環境感知能力;給智慧型車增加視覺巡線功能;給智慧型玩具增加識別人臉功能,提高產品趣味性等;甚至,可以給工廠產品線增加殘次品篩選功能等。

openmv採用的stm32f427擁有豐富的硬體資源,引出uart,i2c,spi,pwm,adc,dac以及gpio等介面方便擴充套件外圍功能。usb介面用於連線電腦上的整合開發環境openmvide,協助完成程式設計、除錯和更新韌體等工作。tf卡槽支援大容量的tf卡,可以用於存放程式和儲存**等。

openmv的定位是「帶機器視覺功能的arduino。它可以通過uart,i2c,spi,asyncserial以及gpio控制其他的硬體,甚至是微控制器模組,如arduino、raspberrypi(樹莓派)等。它也可以被其他的微控制器模組控制。這個特點使得它可以很靈活的和其他流行的模組配合,實現複雜的產品功能。

總結一下openmv的特性:

1.小巧的機器視覺模組

2.軟硬體完全開源

3.stm32f4系列微控制器,低功耗,高效

4.ov7725攝像頭晶元

5.提供python程式設計介面,不需要c語言知識,便於開發

6.提供大量的python例子

7.提供整合開發環境(openmvide),方便開發、除錯**以及更新韌體

等等…所以,openmv提供了機器視覺功能最核心和最複雜的部分(包括硬體和核心演算法),所以使用者們可以把自己的精力放在自己的想法和產品設計上,實現自己的各種創意。

庫函式:

入門教程:

官方論壇:

openmv入門的一些坑:

後續安裝只需要點下一步接收此許可就行!!!

安裝好即可使用

在影象的下面我們能夠實時看到的資訊,當然需要根據我們選擇的顏色空間而定

OpenMV學習筆記(一)

匯入感光模組,可以設定採集到的的一些格式。import sensor 匯入計時模組 import clock 清除掉之前攝像頭存在的 對於的設定 sensor.reset 設定的格式,這個565是說儲存rgb三個通道每個通道儲存畫素值所對應的二進位制位分別是5,6,5。sensor.set pixf...

OpenMV學習 顏色識別(一)python

python語法補充 在openmv中實際應用的應該稱為 mircopython 1 匯入模組 第一種 import 模組名 第二種 from 模組名 import 方法名 使用方法如下 import math 匯入math模組 math.floor 呼叫math模組中的floor函式 from m...

Python學習日記 Day3初識列表

今天是2020年2月12日,陰轉多雲,9 15 有一點厭學,但還是開啟了部落格,想逼自己學點東西。列表由一系列按特定順序排序的元素組成,是線性表的一種表示。不同於其它語言中的陣列,python在同一列表中可以儲存不同型別的元素,型別既可以是python標準資料型別,也可以是自定義型別。在python...