0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenMV初識(shí)

新機(jī)器視覺 ? 來源:ku77 ? 2023-06-12 11:23 ? 次閱讀

來源:ku77

openMV簡介

OpenMV是由美國克里斯團(tuán)隊(duì)基于MicroPython發(fā)起的開源機(jī)器視覺項(xiàng)目,目的是創(chuàng)建低成本,可擴(kuò)展,使用python驅(qū)動(dòng)的機(jī)器視覺模塊。OpenMV搭載了MicroPython解釋器,使其可以在嵌入式端進(jìn)行python開發(fā)。OpenMV基于32位,ARM Cortex-M7內(nèi)核的OpenMV-H7, 并結(jié)合各種攝像頭,可以進(jìn)行多種機(jī)器視覺應(yīng)用的實(shí)現(xiàn),比如人臉檢測(cè),物體分類等。

對(duì)于省錢黨來說這是一個(gè)開源的項(xiàng)目,所以有興趣的可以自己上網(wǎng)找相關(guān)資料自制一個(gè),可以省個(gè)一兩百塊大洋。安利一篇文章

一、硬件準(zhǔn)備

1.OpenMV

2.一根micro usb的數(shù)據(jù)線(一定要有數(shù)據(jù)傳輸功能的)

3.電腦網(wǎng)絡(luò)

二、軟件準(zhǔn)備

1.在openMV官網(wǎng)下載openmv IDEhttps://book.openmv.cc/

9a1e7092-06a3-11ee-962d-dac502259ad0.png

IDE是由Qt Creator編寫,可以跨平臺(tái)使用,官網(wǎng)提供了windows、mac os、Linux ubuntu 32位和64位,以及樹莓派的版本,滿足各個(gè)平臺(tái)的開發(fā),使得其應(yīng)用更加廣泛。Windows系統(tǒng)就選第一個(gè)啦。

下載得到安裝包:

9a49dd86-06a3-11ee-962d-dac502259ad0.png

安裝過程一路Next,值得一提的是默認(rèn)安裝C盤,可以手動(dòng)修改安裝路徑為其它盤,不影響使用。

9a555ab2-06a3-11ee-962d-dac502259ad0.png

下一步可以連接上硬件:

9a69ef04-06a3-11ee-962d-dac502259ad0.png

電腦將自動(dòng)識(shí)別出一個(gè)U盤:

9a9690c2-06a3-11ee-962d-dac502259ad0.png

這是由于單片機(jī)燒入了固件程序?qū)?nèi)部的Flash虛擬成了一個(gè)U盤可以看到這個(gè)U盤容量特別小,因此在后期的使用過程中建議插SD卡。

用SD卡的好處多多:

1.SD卡也是一個(gè)文件系統(tǒng),當(dāng)上電的時(shí)候,如果插入SD卡,那么SD卡的文件系統(tǒng)就會(huì)自動(dòng)取代內(nèi)置的Flash文件系統(tǒng),每次上電,就會(huì)運(yùn)行SD卡中的main.py啦,還可以減少對(duì)stm32flash擦除次數(shù),延長壽命。

2.SD卡最大支持2TB的容量。因此可以保存些大的程序,還可以放置訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,也可以放置需要對(duì)比的圖片等進(jìn)行調(diào)用。

9a9fe1c2-06a3-11ee-962d-dac502259ad0.png

內(nèi)部放置了三個(gè)文件,其中main.py文件就是要運(yùn)行的程序文件。

注:有時(shí)會(huì)出現(xiàn)驅(qū)動(dòng)安裝不完整的情況,打開設(shè)備管理器可以看到有個(gè)感嘆號(hào),我們可以更新驅(qū)動(dòng)程序

9abc1f36-06a3-11ee-962d-dac502259ad0.png

官網(wǎng)上有非常詳細(xì)的解決步驟:在這

三、軟件的功能與使用

OpenMV提供了兩者閾值設(shè)置方案。分別是閾值編譯器和直方圖的方式選擇閾值。

閾值編譯器:優(yōu)點(diǎn),所尋找到的目標(biāo)顏色更加合理,其他相似顏色區(qū)域的干擾比較小。缺點(diǎn),調(diào)節(jié)LAB的最大最小值比較花費(fèi)時(shí)間。

直立方圖恰好相反,他很容易找到LAB的最大最小值的大體區(qū)間,但是容易受到相似顏色區(qū)域的干擾。所以,建議兩者配合使用。

先用直立方圖找到LAB的最大最小值的大體區(qū)間,再利用閾值編譯器對(duì)LAB的最大最小值進(jìn)行微調(diào)

軟件安裝完成后在主菜單可以找到這個(gè)圖標(biāo):

9ad74540-06a3-11ee-962d-dac502259ad0.png

打開這個(gè)軟件會(huì)跳出一個(gè)默認(rèn)的helloworld.py的例程(其它示例在文件選項(xiàng)可以看到),軟件頁面如下:

9af10e3a-06a3-11ee-962d-dac502259ad0.png

頁面左邊是代碼區(qū)域,右上角是幀緩沖區(qū)(可以顯示攝像頭拍到的),我們要選擇紅色盒子作為目標(biāo)對(duì)象,只需要在幀緩沖區(qū),拖動(dòng)鼠標(biāo)左鍵即可。右下角直方圖可以選擇四種色彩空間:

·RBG色彩空間:R代表紅色,B代表藍(lán)色,G代表綠色。它是一種線性色彩空間,其中顏色是通過紅色,綠色和藍(lán)色值的線性組合獲得的。(做顏色識(shí)別的功能時(shí)比較方便)

·灰度(GRAY)色彩空間:單通道格式,值為0~255,顏色值為黑白之間,0是黑色,255是白色。(處理識(shí)別數(shù)字或輪廓等二值計(jì)算時(shí)速度比較快)

·LAB色彩空間:Lab顏色空間中,L亮度;a的正數(shù)代表紅色,負(fù)端代表綠色;b的正數(shù)代表黃色,負(fù)端代表藍(lán)色。不像RGB和CMYK色彩空間,Lab顏色被設(shè)計(jì)來接近人類視覺。()

·YUV色彩空間:“Y”表示明亮度,也就是灰階值,“U”和“V”表示的則是色度,作用是描述影像色彩及飽和度,用于指定像素的顏色。

參考:常用色彩空間概念

9b1f1e6a-06a3-11ee-962d-dac502259ad0.png

9b390b4a-06a3-11ee-962d-dac502259ad0.png

9b55dc34-06a3-11ee-962d-dac502259ad0.png

9b7c5f9e-06a3-11ee-962d-dac502259ad0.png

根據(jù)直方圖(LAB色彩空間)可知,我們的L最大值選擇80,最小值為60。A最大值為40,最小值為-20。B的最大值為20,最小值為-10。(注:這個(gè)只需要包含絕大部分就行)

閾值編譯器只有LAB閾值和灰度閾值設(shè)置,由上述四圖可得,LAB分布值比較集中,所以選用LAB閾值。

之后進(jìn)行閾值編譯器設(shè)置:

左上方工具——>機(jī)器視覺——>閾值編譯器——>幀緩沖區(qū)。

9b9dc3be-06a3-11ee-962d-dac502259ad0.png

可對(duì)要判斷圖像的LAB值進(jìn)行調(diào)整。注意:這個(gè)時(shí)候OpenMV會(huì)截取幀緩沖區(qū)內(nèi)照片(當(dāng)前的圖片)作為LAB值調(diào)整。所以我們采用閾值編譯器的時(shí)候,需要提前將目標(biāo)識(shí)別單位(紅色盒子)放在OpenMV攝像頭之前。再進(jìn)行操作。

9bbfad6c-06a3-11ee-962d-dac502259ad0.png

根據(jù)直立方圖的值,我們調(diào)整LAB最大和最小值,盡可能地讓要目標(biāo)識(shí)別對(duì)象變成全白色。(注:即使沒有全部變成白色也不影響,反正最后會(huì)把所有沒有被濾除的白色區(qū)域變成一個(gè)大框)然后復(fù)制下方的LAB閾值。

(58, 80, 19, 51, -10, 21)和直方圖讀取的數(shù)做一個(gè)對(duì)比(60,80,-20,40,-10,20)。

在這里只是舉個(gè)例子,其它識(shí)別中,也可用其它的色彩空間進(jìn)行識(shí)別。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7878

    瀏覽量

    263723
  • 機(jī)器視覺
    +關(guān)注

    關(guān)注

    161

    文章

    4321

    瀏覽量

    119997
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3218

    瀏覽量

    42329
  • openMV
    +關(guān)注

    關(guān)注

    3

    文章

    39

    瀏覽量

    9784
  • Micropython
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    4703

原文標(biāo)題:OpenMV 初識(shí)

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    第19.1 章-星瞳科技 OpenMV視覺循跡功能 超詳細(xì)OpenMV與STM32單片機(jī)通信

    第19.1 章-[星瞳科技]OpenMV視覺循跡功能 超詳細(xì)OpenMV與STM32單片機(jī)通信 (有完整版源碼) 【星曈科技】OpenMv筆記——利用OpenMV與STM32進(jìn)行串口通
    的頭像 發(fā)表于 08-20 11:41 ?806次閱讀
    第19.1 章-星瞳科技 <b class='flag-5'>OpenMV</b>視覺循跡功能 超詳細(xì)<b class='flag-5'>OpenMV</b>與STM32單片機(jī)通信

    19.3-星曈科技 openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32F103C8T6視覺巡線小車 STM32循跡小車系列教程

    19.3-【星曈科技】openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32F103C8T6視覺巡線小車 STM32循跡小車系列教程 使用OpenMV循跡 openMV
    的頭像 發(fā)表于 08-20 11:32 ?758次閱讀
    19.3-星曈科技 <b class='flag-5'>openmv</b> Hopenmv發(fā)送五個(gè)uchar <b class='flag-5'>Openmv</b>+STM32F103C8T6視覺巡線小車 STM32循跡小車系列教程

    openMV和STM32

    。攝像頭采用星瞳openMV H7,主控采用的是正點(diǎn)原子探索者F407開發(fā)板。本文通過openMV和STM32兩方面來講解。openMV部分OpenMV攝像頭是一款小巧,低功耗,低成本
    發(fā)表于 08-04 06:20

    openmv接收藍(lán)牙的指令

    總的思路是以openmv 接收藍(lán)牙的指令,如果是自動(dòng)選項(xiàng),就在openmv 運(yùn)行識(shí)別紅球進(jìn)行固定距離跟蹤的程序;如果是手動(dòng)選項(xiàng),openmv就直接把所得到的數(shù)據(jù)傳給STM32,不做其它處理。那這里
    發(fā)表于 08-06 08:57

    OpenMv和STM32通信問題

    OpenMv和STM32通信OpenMv和STM32通信問題OpenMv和STM32通信前言一、OpenMv配置二、Stm32配置總結(jié)前言最近一段時(shí)間都在搗鼓
    發(fā)表于 08-16 07:44

    OpenMV怎么用?如何用OpenMV做一個(gè)電磁炮?

    OpenMV怎么用?如何用OpenMV做一個(gè)電磁炮?
    發(fā)表于 10-20 07:30

    OpenMV是什么?openmv4的作用有哪些

    OpenMV是什么?openmv4的作用有哪些?
    發(fā)表于 02-22 06:40

    OpenMv與stm32簡單串口通信

    前言剛開始學(xué)openmv與32串口通信,我是用的stm32f103的板子。開始想簡單發(fā)送字符或者16位數(shù)試驗(yàn)一下,然后就遇到了個(gè)小問題,即openmv和單片機(jī)可以分別和電腦通信,但是讓他倆通信的話就不行,隨后解決在此記錄下來。我的思路是用
    發(fā)表于 12-16 16:56 ?25次下載
    <b class='flag-5'>OpenMv</b>與stm32簡單串口通信

    【星曈科技】OpenMv筆記——利用OpenMV與STM32進(jìn)行串口通信

    利用OpenMV與STM32進(jìn)行串口通信OpenMV端的程序# Untitled - By: dell - 周一 7月 19 2021# Blob Detection and uart
    發(fā)表于 12-24 18:51 ?27次下載
    【星曈科技】<b class='flag-5'>OpenMv</b>筆記——利用<b class='flag-5'>OpenMV</b>與STM32進(jìn)行串口通信

    STM32與openmv通信(HAL庫)

    最近需要用到openmv進(jìn)行追蹤物體,所以在此做個(gè)小結(jié),其中這些文章給我很大的幫助,建議可以去看超詳細(xì)OpenMV與STM32單片機(jī)通信 以及星瞳科技官網(wǎng)實(shí)驗(yàn)?zāi)康模?b class='flag-5'>openmv追蹤物體顏色,將物體
    發(fā)表于 12-24 19:16 ?23次下載
    STM32與<b class='flag-5'>openmv</b>通信(HAL庫)

    openmv4系列1----基本認(rèn)知

    openmv4系列1----基本認(rèn)知1.openmv的由來??OpenMV是一個(gè)開源,低成本,功能強(qiáng)大的機(jī)器視覺模塊。以STM32F427CPU為核心,集成了OV7725攝像頭芯片,在小巧的硬件模塊
    發(fā)表于 12-29 18:51 ?8次下載
    <b class='flag-5'>openmv</b>4系列1----基本認(rèn)知

    OPENMV和STM32的識(shí)別追蹤小車(詳細(xì)版)之OPENMV

    OPENMV和STM32的識(shí)別追蹤小車(詳細(xì)版)實(shí)現(xiàn):通過OPENMV識(shí)別Apriltags標(biāo)簽,STM32驅(qū)動(dòng)小車追蹤標(biāo)簽博主通過一段時(shí)間的學(xué)習(xí),做了這個(gè)比較簡單的以OPENMV為攝像傳感器
    發(fā)表于 01-13 12:05 ?0次下載
    <b class='flag-5'>OPENMV</b>和STM32的識(shí)別追蹤小車(詳細(xì)版)之<b class='flag-5'>OPENMV</b>端

    【DIY】基于OpenMV的STM32追球小車

    [DIY]基于openMV的追球小車總體設(shè)計(jì)1.基礎(chǔ)硬件DIY設(shè)計(jì)1).整體原理圖2).PCB電路3).3D_PCB2.openMV簡單識(shí)別程序設(shè)計(jì) 與 STM32控制程序設(shè)計(jì)1)openMV
    發(fā)表于 01-14 13:01 ?39次下載
    【DIY】基于<b class='flag-5'>OpenMV</b>的STM32追球小車

    OpenMV Cam上的RPC模塊

    OpenMV Cam 上的rpc模塊允許您將 OpenMV Cam 連接到另一臺(tái)微控制器或計(jì)算機(jī),并在 OpenMV Cam 上執(zhí)行遠(yuǎn)程 Python(或過程)調(diào)用。
    的頭像 發(fā)表于 10-08 10:28 ?1391次閱讀

    基于Vision Board上的openMV垃圾分類

    通過在Vision Board部署openMV實(shí)現(xiàn)垃圾分類。
    的頭像 發(fā)表于 06-17 10:49 ?552次閱讀
    基于Vision Board上的<b class='flag-5'>openMV</b>垃圾分類