国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

調(diào)用攝像頭使用Yolo識別物品

2025-04-20 19:18 更新

本章節(jié)為 如何調(diào)用攝像頭進(jìn)行YOLO識別教程

-- 初始化攝像頭
參數(shù)1:攝像頭ID,從 0 開始 
參數(shù)2:采集卡類型,0 表示 V4L2,1 表示 OpenCV
參數(shù)3:采集卡中心裁切分辨率
-- 將初始化結(jié)果存儲在 init_ok 變量中,初始化成功可能返回 true,失敗返回 false
local init_ok = CameraInit(0, 0, 320) 
-- 打印攝像頭初始化的結(jié)果
print("Camera init:", init_ok)


-- 加載 YOLO 模型,傳入兩個參數(shù):模型文件路徑 "yolov5cs.rknn" 和模型標(biāo)簽總數(shù)
-- 將加載結(jié)果存儲在 ret_load 變量中,加載成功可能返回特定值,失敗返回錯誤碼
local ret_load = YoloLoadModel("yolov5cs.rknn", 2) 
-- 打印 YOLO 模型加載的結(jié)果
print("YoloLoadModel:", ret_load)


-- 進(jìn)入一個無限循環(huán),持續(xù)進(jìn)行目標(biāo)檢測操作
while true do
    -- 獲取攝像頭最新的方形幀圖像,將其存儲在 frame 變量中
    local frame = CameraGetLatestFrameSquare() 
    -- 獲取當(dāng)前的微秒級時間戳,用于后續(xù)計算檢測時間
    local nanoTime = getMicroTime()
    -- 使用 YOLO 模型對獲取的圖像幀進(jìn)行目標(biāo)檢測,傳入三個參數(shù):圖像幀、置信度閾值 0.45、非極大值抑制閾值 0.25 和最大檢測目標(biāo)數(shù)量 100
    -- 將檢測結(jié)果存儲在 results 變量中,結(jié)果是一個包含檢測到的目標(biāo)信息的表
    local results = YoloDetectImg(frame, 0.45, 0.25, 100) 
    -- 再次獲取當(dāng)前的微秒級時間戳
    local nanoTime2 = getMicroTime()
    -- 計算目標(biāo)檢測所花費(fèi)的時間,單位為微秒
    local nanoTime3 = nanoTime2 - nanoTime
    -- 將檢測時間轉(zhuǎn)換為毫秒并打印出來
    print("dt:", nanoTime3 / 1000)


    -- 檢查是否檢測到目標(biāo),即 results 不為空且檢測到的目標(biāo)數(shù)量大于 0
    if results and #results > 0 then
        -- 遍歷檢測到的目標(biāo)列表
        for i, det in ipairs(results) do
            -- 從檢測結(jié)果中提取目標(biāo)的邊界框信息,x1 為邊界框左上角的 x 坐標(biāo)
            local x1 = det.box_x
            -- 從檢測結(jié)果中提取目標(biāo)的邊界框信息,y1 為邊界框左上角的 y 坐標(biāo)
            local y1 = det.box_y
            -- 從檢測結(jié)果中提取目標(biāo)的邊界框信息,x2 可能為邊界框的寬度
            local x2 = det.box_w
            -- 從檢測結(jié)果中提取目標(biāo)的邊界框信息,y2 可能為邊界框的高度
            local y2 = det.box_h
            -- 打印每個檢測到的目標(biāo)的相關(guān)信息,包括目標(biāo)序號、置信度、類別 ID 和邊界框坐標(biāo)
            print(string.format("object[%d]: prop=%.3f, cls_id=%d, box=(%d,%d,%d,%d)",
                i, det.prop, det.cls_id, x1, y1, x2, y2))
        end
    else
        -- 如果沒有檢測到目標(biāo),打印提示信息
        print("No objects detected")
    end
    -- 程序暫停 0.1 秒,避免過于頻繁地進(jìn)行檢測
    sleep(0.1) 
end
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號