這里是詳細(xì)教程,從理論原理到實踐操作,然后具體代碼調(diào)試都會講解,有對應(yīng)視頻,所以比較長,希望大家認(rèn)真學(xué)習(xí)。
這個是全網(wǎng)最詳細(xì)的STM32項目教學(xué)視頻。
第一篇在這里:
視頻在這里
第19章-OpenMV視覺循跡功能
19.0-組裝和實物介紹等
組裝
攝像頭安裝支架清單如下。
、
為了方便看后面絲印 建議把亞力克膜撕掉
安裝順序安裝如下
攝像頭按照M3螺絲
擰到一起
用M2螺絲和螺母連接
把另一個法蘭盤拆掉 按照如下位置
M3固定法蘭盤,然后用頂絲固定碳桿
19.1-openmv介紹
OpenMV是一款優(yōu)秀的開源視覺識別硬件板,旨在成為一個用于計算機(jī)視覺項目和應(yīng)用的“Arduino”。
主要特點如下:
- 簡單易用:編程語言是Python,使用OpenMV IDE進(jìn)行代碼編寫與調(diào)試。這個集成開發(fā)環(huán)境提供了豐富的功能例如圖像顯示、視頻錄制,以及串口調(diào)試等,非常方便。
- 性能卓越:基于高性能MicroPython嵌入式操作系統(tǒng),支持諸如圖像捕獲、圖像處理、面部識別等諸多復(fù)雜操作。
- 支持豐富:包含豐富的API接口,可以實現(xiàn)多種圖像處理操作,并且兼容眾多類型的傳感器和配件,使其可應(yīng)用于多種場景之中。
- 易拓展:OpenMV設(shè)有豐富穩(wěn)定的I/O端口,包括UART、I2C、SPI、CAN,此外還有12位ADC,支持MicroSD卡及USB,結(jié)構(gòu)緊密小巧方便集成。
- 應(yīng)用廣泛:由于其強(qiáng)大的功能,在很多領(lǐng)域都可以找得到它的身影,包括:人臉檢測,眼球跟蹤,目標(biāo)檢測,自動駕駛,物品分類等。
資料和軟件安裝
- 關(guān)于OpenMV各種庫和使用,看官網(wǎng)文檔:
http://docs.openmv.io/ (英文網(wǎng)站) - https://docs.singtown.com/ (中文網(wǎng)站)
- https://docs.singtown.com/micropython/zh/latest/openmvcam/library/index.html
- 使用MicroPython 問題可以查看文檔。http://docs.micropython.org/en/latest/pyboard/
- OpenMV論壇,有問題可以在論壇交流或者查找問題https://forums.openmv.io/
- 軟件下載地址:https://openmv.io/pages/download (英文 速度慢)安裝步驟就按照下一步默認(rèn)按照就可以(也可以換一個安裝路徑)https://singtown.com/openmv-download/ (中文下載速度快)
建議使用資料包里面已經(jīng)下載好
安裝過程,直接同意協(xié)議,直接下一步,下一步,就安裝完畢。
使用數(shù)據(jù)USB線連接到電腦,不要升級固件
測試一下運(yùn)行一個基礎(chǔ)程序 "HelloWord"程序。
然后查看攝像頭是否需要反轉(zhuǎn)、代碼添加到循環(huán)之前。
# 注意是否有下面兩句根據(jù)自己攝像頭調(diào)整
sensor.set_vflip(True) #垂直方向翻轉(zhuǎn) 根據(jù)自己攝像頭和模塊安裝位置調(diào)整 ?。?!重要不同攝像頭是否需要鏡像根據(jù)實際情況定,如果不需要鏡像需要注釋掉
sensor.set_hmirror(True) #水平方向反轉(zhuǎn) 根據(jù)自己攝像頭和模塊安裝位置調(diào)整 ?。?!重要不同攝像頭是否需要鏡像根據(jù)實際情況定,如果不需要鏡像需要注釋掉
擰攝像頭調(diào)焦
# Hello World Example
#
# Welcome to the OpenMV IDE! Click on the green run arrow button below to run the script!
import sensor
import time
sensor.reset() # Reset and initialize the sensor.
sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240)
sensor.skip_frames(time=2000) # Wait for settings take effect.
clock = time.clock() # Create a clock object to track the FPS.
# 注意是否有下面兩句根據(jù)自己攝像頭調(diào)整
sensor.set_vflip(True) #垂直方向翻轉(zhuǎn) 根據(jù)自己攝像頭和模塊安裝位置調(diào)整 !??!重要不同攝像頭是否需要鏡像根據(jù)實際情況定,如果不需要鏡像需要注釋掉
sensor.set_hmirror(True) #水平方向反轉(zhuǎn) 根據(jù)自己攝像頭和模塊安裝位置調(diào)整 ?。。≈匾煌瑪z像頭是否需要鏡像根據(jù)實際情況定,如果不需要鏡像需要注釋掉
while True:
clock.tick() # Update the FPS clock.
img = sensor.snapshot() # Take a picture and return the image.
print(clock.fps()) # Note: OpenMV Cam runs about half as fast when connected
# to the IDE. The FPS should increase once disconnected.
清晰度大概如下
后面我們的章節(jié)講解openmv 部分代碼然后STM32代碼然后聯(lián)調(diào)
聯(lián)系:Q,1930299709