精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

第19.2章-星曈科技 openmv H7 plus openmv視覺循跡功能-完成視覺識別指定區域 OpenMV視覺模塊循跡 STM32F103C8T6視覺巡線

dfhjgfg ? 來源:dfhjgfg ? 作者:dfhjgfg ? 2024-08-20 11:28 ? 次閱讀
**功能介紹放開頭, 使用便捷無需愁**

**這是全網最詳細、性價比最高的STM32實戰項目入門教程,通過合理的硬件設計和詳細的視頻筆記介紹,硬件使用STM32F103主控資料多方便學習,通過3萬字筆記、12多個小時視頻、20多章節代碼手把手教會你如何開發和調試。讓你更快掌握嵌入式系統開發。**

**V3.3.0-STM32智能小車 **

**視頻: **[https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click]

**V3:HAL庫開發、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺控制、電磁循跡、RTOS等功能。**

## 19.2-openmv視覺循跡功能-完成視覺識別指定區域

**功 能: Openmv循跡識別線**

**硬件要求: OpenMV4 H7 Plus 或者 OpenMV4 H7、openMV串口轉接板(方便接線的,也可以不用)。**

**攝像頭五個口 是否識別出來黑線,通過openmv軟件串行終端輸出**
![在這里插入圖片描述](//file1.elecfans.com/web2/M00/03/DF/wKgaoma-1vWAX-2kAAU1Im5boYw941.png)
**根據自己攝像頭特點查看測試是否需要這兩句 鏡頭反轉的操作 **

```
# 注意是否有下面兩句根據自己攝像頭調整
sensor.set_vflip(True)  #垂直方向翻轉 根據自己攝像頭和模塊安裝位置調整 !!!重要不同攝像頭是否需要鏡像根據實際情況定,如果不需要鏡像需要注釋掉
sensor.set_hmirror(True) #水平方向反轉 根據自己攝像頭和模塊安裝位置調整 !!!重要不同攝像頭是否需要鏡像根據實際情況定,如果不需要鏡像需要注釋掉
```

**這里通過攝像頭識別指定區域是否我們想要的閾值**

**通過roi來定指定區域 **
![在這里插入圖片描述](//file1.elecfans.com/web2/M00/03/DF/wKgaoma-1vWASTJOAAJIxKQSSPE529.png)
**通過閾值編輯器設置閾值**
![在這里插入圖片描述](//file1.elecfans.com/web2/M00/02/F3/wKgZoma-1vWAKVQVAASw-07SFBo034.png)
![在這里插入圖片描述](//file1.elecfans.com/web2/M00/02/F3/wKgZoma-1vWAH4EFAAFkDsrru38135.png)
![在這里插入圖片描述](//file1.elecfans.com/web2/M00/02/F3/wKgZoma-1vWAd8UIAASrw6XHixs610.png)
**閾值保持在變量這里**

```
#最好根據自己情況設置一下!!!
GROUND_THRESHOLD=(0, 30, -22, 23, -128, 80)#閾值參數,用于在圖像處理中對標物體進行顏色識別分割。在OpenMV IDE軟件 工具- >機器視覺- >閾值編輯器- >幀緩沖區 調整出要識別的LAB閾值。
?
```

**然后為了方便觀察openmv 板子程序是否在運行,我們增加對板載RGB燈 運動控制**

```
led = pyb.LED(1) # led = pyb.LED(1)表示led表示紅燈。各種狀態如下:Red LED = 1, Green LED = 2, Blue LED = 3, IR LEDs = 4.
led.on()         #點亮紅燈 板載紅燈點亮表示程序得到執行
```

**使用代碼如下**

```
import pyb, sensor, image, math, time
from pyb import UART
import ustruct
from image import SEARCH_EX, SEARCH_DS
import time
import sensor, lcd
#導入需要的庫和模塊
?
#使用中可能根據自己情況需要修改的值
#1. GROUND_THRESHOLD 閾值參數 通過工具- >機器視覺- >閾值編輯器- >幀緩沖區 調整出要識別的LAB閾值。
#2.注意是否有下面兩句根據自己攝像頭調整
  #sensor.set_vflip(True)
  #sensor.set_hmirror(True)
?
?
#sensor.set_contrast(1)#設置相機圖像對比度。-3至+3。
#sensor.set_gainceiling(16)#設置相機圖像增益上限。2, 4, 8, 16, 32, 64, 128。
?
roi1 = [( 20,   105, 10, 10),
          ( 45,   105, 10, 10),
          ( 75,   105, 10, 10),
          ( 105,  105, 10, 10),
          (130,   105, 10, 10)]#定義一個名為roi1的列表,其中包含了5個元組。每個元組代表了一個矩形感興趣區域在圖像上的位置和大小。
#具體而言,每個元組包含了4個數值依次的含義是:ROI左上角點的x坐標、ROI左上角點的y坐標、ROI的寬度、ROI的高度
?
?
led = pyb.LED(1) # led = pyb.LED(1)表示led表示紅燈。各種狀態如下:Red LED = 1, Green LED = 2, Blue LED = 3, IR LEDs = 4.
led.on()         #點亮紅燈 板載紅燈點亮表示程序得到執行
?
sensor.reset()#初始化相機傳感器
sensor.set_pixformat(sensor.RGB565)#設置相機模塊的像素模式:sensor.RGB565: 16 bits/像素。
sensor.set_framesize(sensor.QQVGA)#設置圖像分辨率、如果改變分辨率也要調整ROI區域。攝像頭不同、應用場景不同可以選擇不同分辨率。這里使用QQVGA可能畫質很胡,但是為了兼容不同型號攝像頭我們先使用QQVGA 不影響循跡效果
sensor.skip_frames(time=2000)#跳過指定數目的幀。在這里,設置為跳過2000毫秒(即2秒)的幀。這樣可以給傳感器一些時間進行初始化和自適應調整。
sensor.set_auto_whitebal(True)#設置為自動白平衡模式。這使得攝像頭可以根據場景中的光照條件自動調整圖像的白平衡,從而保持圖像色彩更加準確和自然。
sensor.set_auto_gain(False)#關閉自動增益模式。通常情況下,開啟自動增益會幫助攝像頭自動調整亮度,并在低亮度環境下提高圖像清晰度。通過設置為False,禁用了這個功能,使用固定增益值。
?
# 注意是否有下面兩句根據自己攝像頭調整
sensor.set_vflip(True)  #垂直方向翻轉 根據自己攝像頭和模塊安裝位置調整 !!!重要不同攝像頭是否需要鏡像根據實際情況定,如果不需要鏡像需要注釋掉
sensor.set_hmirror(True) #水平方向反轉 根據自己攝像頭和模塊安裝位置調整 !!!重要不同攝像頭是否需要鏡像根據實際情況定,如果不需要鏡像需要注釋掉
?
?
#lcd.init() #初始化lcd屏幕
?
#最好根據自己情況設置一下!!!
GROUND_THRESHOLD=(0, 30, -22, 23, -128, 80)#閾值參數,用于在圖像處理中對標物體進行顏色識別分割。在OpenMV IDE軟件 工具- >機器視覺- >閾值編輯器- >幀緩沖區 調整出要識別的LAB閾值。
?
while(True):
?
    data=0
    blob1=None
    blob2=None
    blob3=None
    blob4=None
    blob5=None
    flag = [0,0,0,0,0]
    img = sensor.snapshot().lens_corr(strength = 1.7 , zoom = 1.0)#對獲取到的圖像執行鏡頭校正的操作。
    blob1 = img.find_blobs([GROUND_THRESHOLD], roi=roi1[0])#在圖像中通過顏色閾值 GROUND_THRESHOLD1 檢測 roi1[0] 區域內的色塊,并將檢測結果賦值給 blob1。
    blob2 = img.find_blobs([GROUND_THRESHOLD], roi=roi1[1])#同理
    blob3 = img.find_blobs([GROUND_THRESHOLD], roi=roi1[2])
    blob4 = img.find_blobs([GROUND_THRESHOLD], roi=roi1[3])
    blob5 = img.find_blobs([GROUND_THRESHOLD], roi=roi1[4])
?
    if blob1:#如果roi1區域內找到閾值色塊 就會賦值flag[0]為1
        flag[0] = 1
    if blob2:
        flag[1] = 1
    if blob3:
        flag[2] = 1
    if blob4:
        flag[3] = 1
    if blob5:
        flag[4] = 1
    print(flag[0],flag[1],flag[2],flag[3],flag[4])#把數據打印在串行終端方便調試
?
    for rec in roi1:#遍歷所有感興趣的區域roi1 并繪制color=(255,0,0)顏色
        img.draw_rectangle(rec, color=(255,0,0))
        #lcd.display(img) # Take a picture and display the image.#將圖像顯示在lcd中
?
```

** 識別過程**
![在這里插入圖片描述](//file1.elecfans.com/web2/M00/03/DF/wKgaoma-1vWATc0IAAR-f9Pnr9k233.png)

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 視覺識別
    +關注

    關注

    3

    文章

    89

    瀏覽量

    16599
  • STM32F103C8T6
    +關注

    關注

    105

    文章

    160

    瀏覽量

    82447
  • 智能尋跡
    +關注

    關注

    0

    文章

    3

    瀏覽量

    1048
  • openMV
    +關注

    關注

    3

    文章

    39

    瀏覽量

    9757
收藏 人收藏

    評論

    相關推薦

    19.1 -瞳科技 OpenMV視覺循跡功能 超詳細OpenMVSTM32單片機通信

    19.1 -[瞳科技]OpenMV視覺循跡功能
    的頭像 發表于 08-20 11:41 ?510次閱讀
    <b class='flag-5'>第</b>19.1 <b class='flag-5'>章</b>-<b class='flag-5'>星</b>瞳科技 <b class='flag-5'>OpenMV</b><b class='flag-5'>視覺</b><b class='flag-5'>循跡</b><b class='flag-5'>功能</b> 超詳細<b class='flag-5'>OpenMV</b>與<b class='flag-5'>STM32</b>單片機通信

    19.3-科技 openmv Hopenmv發送五個uchar Openmv+STM32F103C8T6視覺小車 STM32循跡小車系列教程

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

    19.4-STM32接收數據-狀態顯示在屏幕 openMV尋跡與小車控制 Openmv+STM32F103C8T6視覺小車

    19.4-STM32接收數據-狀態顯示在屏幕 openMV尋跡與小車控制 Openmv+STM32F103C8T6視覺
    的頭像 發表于 08-20 11:12 ?506次閱讀
    19.4-<b class='flag-5'>STM32</b>接收數據-狀態顯示在屏幕 <b class='flag-5'>openMV</b>尋跡與小車控制 <b class='flag-5'>Openmv+STM32F103C8T6</b><b class='flag-5'>視覺</b><b class='flag-5'>巡</b><b class='flag-5'>線</b>小車

    【國外開源】STM32 機器人視覺攝像機OpenMV Cam設計(硬件+固件源碼等)

    OpenMV項目旨在通過開發開源的低成本機器視覺攝像機,為業余愛好者和制造商提供機器視覺。第一代OpenMV攝像機基于STM32F ARM
    發表于 09-29 14:49

    視覺模塊OpenMV淺說LED燈

    視覺模塊OpenMV淺說LED燈,講在開頭的話:最初接觸到OpenMV這款視覺模塊是參加了一個學
    發表于 07-20 06:59

    OpenmvStm32f407通信入門

    的是stm32h7,用的串口為串口3。控制板是stm32f407zgt6,用的串口是串口2。目的是將openmv的數據通過串口傳到控制板并在oled上面顯示。大概思路兩個單片機用串口通信,必須把自己的串口
    發表于 08-04 07:36

    介紹機器視覺模塊OpenMV-RT初體驗

     本系列痞子衡給大家介紹的是機器視覺模塊OpenMV-RT初體驗。  近些年機器視覺應用一直是個很火的方向,想象一下機器如果能長上“眼睛”,是不是就可以做一些人類才能做的事情,因此機器
    發表于 12-23 06:02

    基于OPENMVSTM32識別追蹤小車設計實現

    STM32為控制器的尋物小車,不多說,直接進入正題!材料準備小車底盤直流減速電機杜邦若干7.2V電源L298N模塊STM32F407最小系統OPE
    發表于 02-25 06:21

    STM32F7691開發套件能用openMV實現視覺識別嗎?

    請問選擇了AI方向,選用的是STM32F7691開發套件,能用openMV實現視覺識別嗎,還是必須在板子上用F769NI芯片實現
    發表于 08-07 06:26

    openMV攝像頭循跡小車

    主控MSP430F5529,電機驅動模塊L298N,openMV攝像頭一、總體思路使用openMV線性回歸,然后使用pid輸出,使用串口發送到MSP430,在經過處理輸出PWM到車輪,
    發表于 12-16 16:56 ?52次下載
    <b class='flag-5'>openMV</b>攝像頭<b class='flag-5'>循跡</b>小車

    STM32openmv通信(HAL庫)

    坐標發給32(為了 調試,順便將32收到的數據傳給上位機)實驗所需:openmvSTM32F103ZET6(正點原子)一、openmv程序編寫# Untitled - By:阿布 - 周日
    發表于 12-24 19:16 ?23次下載
    <b class='flag-5'>STM32</b>與<b class='flag-5'>openmv</b>通信(HAL庫)

    openmv4系列1----基本認知

    openmv4系列1----基本認知1.openmv的由來??OpenMV是一個開源,低成本,功能強大的機器視覺
    發表于 12-29 18:51 ?8次下載
    <b class='flag-5'>openmv</b>4系列1----基本認知

    OPENMVSTM32識別追蹤小車(詳細版)之OPENMV

    STM32為控制器的尋物小車,不多說,直接進入正題!材料準備小車底盤直流減速電機杜邦若干7.2V電源L298N模塊STM32F407最小系統OPE
    發表于 01-13 12:05 ?0次下載
    <b class='flag-5'>OPENMV</b>和<b class='flag-5'>STM32</b>的<b class='flag-5'>識別</b>追蹤小車(詳細版)之<b class='flag-5'>OPENMV</b>端

    openmv cam H7官方電路圖免費

    openmv cam H7 P官方電路圖免費下載。
    發表于 04-24 10:06 ?38次下載

    OpenMV初識

    在嵌入式端進行python開發。OpenMV基于32位,ARM Cortex-M7內核的OpenMV-H7, 并結合各種攝像頭,可以進行多種機器視覺應用的實現,比如人臉檢測,物體分類等
    的頭像 發表于 06-12 11:23 ?3317次閱讀
    <b class='flag-5'>OpenMV</b>初識