日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

openmv传承(二):色块检测

發(fā)布時間:2023/12/31 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 openmv传承(二):色块检测 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、前言:

這個色塊檢測真的沒什么可以說的,非常簡單燒一下例程,改一下閾值就可以使用

?二、代碼展示

# 色塊監(jiān)測 例子 # # 這個例子展示了如何通過find_blobs()函數(shù)來查找圖像中的色塊 # 這個例子查找的顏色是深綠色import sensor, image, time# 顏色追蹤的例子,一定要控制環(huán)境的光,保持光線是穩(wěn)定的。 green_threshold = (30, 100, -51, 127, 18, 127) #設置綠色的閾值,括號里面的數(shù)值分別是L A B 的最大值和最小值(minL, maxL, minA, # maxA, minB, maxB),LAB的值在圖像左側(cè)三個坐標圖中選取。如果是灰度圖,則只需 #設置(min, max)兩個數(shù)字即可。sensor.reset() # 初始化攝像頭 sensor.set_pixformat(sensor.RGB565) # 格式為 RGB565. sensor.set_framesize(sensor.QQVGA) # 使用 QQVGA 速度快一些 sensor.skip_frames(time = 2000) # 跳過2000s,使新設置生效,并自動調(diào)節(jié)白平衡 sensor.set_auto_gain(False) # 關閉自動自動增益。默認開啟的,在顏色識別中,一定要關閉白平衡。 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,反轉(zhuǎn)顏色閾值,invert=False默認#不反轉(zhuǎn)。roi設置顏色識別的視野區(qū)域,roi是一個元組, roi = (x, y, w, h),代表#從左上頂點(x,y)開始的寬為w高為h的矩形區(qū)域,roi不設置的話默認為整個圖像視野。#這個函數(shù)返回一個列表,[0]代表識別到的目標顏色區(qū)域左上頂點的x坐標,[1]代表#左上頂點y坐標,[2]代表目標區(qū)域的寬,[3]代表目標區(qū)域的高,[4]代表目標#區(qū)域像素點的個數(shù),[5]代表目標區(qū)域的中心點x坐標,[6]代表目標區(qū)域中心點y坐標,#[7]代表目標顏色區(qū)域的旋轉(zhuǎn)角度(是弧度值,浮點型,列表其他元素是整型),#[8]代表與此目標區(qū)域交叉的目標個數(shù),[9]代表顏色的編號(它可以用來分辨這個#區(qū)域是用哪個顏色閾值threshold識別出來的)。if blobs:#如果找到了目標顏色for b in blobs:#迭代找到的目標顏色區(qū)域# Draw a rect around the blob.img.draw_rectangle(b[0:4]) # rect#用矩形標記出目標顏色區(qū)域img.draw_cross(b[5], b[6]) # cx, cy#在目標顏色區(qū)域的中心畫十字形標記print(clock.fps()) # 注意: 你的OpenMV連到電腦后幀率大概為原來的一半#如果斷開電腦,幀率會增加

三、使用閾值編輯器

獲取所需要修改的閾值

?四、主要函數(shù)講解

通過find_blobs函數(shù)可以找到色塊。

image.find_blobs(thresholds, roi=Auto, x_stride=2, y_stride=1, invert=False, area_threshold=10, pixels_threshold=10, merge=False, margin=0, threshold_cb=None, merge_cb=None)

thresholds是顏色的閾值,注意:這個參數(shù)是一個列表,可以包含多個顏色。如果你只需要一個顏色,那么在這個列表中只需要有一個顏色值,如果你想要多個顏色閾值,那這個列表就需要多個顏色閾值。注意:在返回的色塊對象blob可以調(diào)用code方法,來判斷是什么顏色的色塊。

總結(jié)

以上是生活随笔為你收集整理的openmv传承(二):色块检测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。