電賽機器視覺 均值漂移目標跟蹤

2021-09-25 19:02:02 字數 956 閱讀 7064

meanshift、camshift、kalman三種常用都嘗試了,還是meanshift效果更理想,未移植的原始碼如下;

# meanshift均值漂移目標跟蹤

import numpy as np

import cv2

# meanshift興趣區域跟蹤

# 輸入引數:img目標區域影象矩陣;frame:訓練影象矩陣

# 輸出引數:中心點座標cx,xy;輸出影象矩陣output_img

def meanshift(img, frame):

# 標記初始感興趣區域

r, h, c, w = 140, 390, 190, 725

# r, h, c, w = 0, 720, 0, 1280

# 組成乙個元組

track_window = (c, r, w, h)

# 提取感興趣的區域並將其轉換成hsv

roi = img[r:r+h, c:c+w]

hsv_roi = cv2.cvtcolor(img, cv2.color_bgr2hsv)

# 建立包含具有hsv的rio所有畫素的掩碼

mask = cv2.inrange(hsv_roi, np.array((100., 30., 32.)), np.array((180., 120., 255.)))

# 計算感興趣區域roi的直方圖並將其歸一化

roi_hist = cv2.calchist([hsv_roi], [0], mask, [180], [0,180])

cv2.normalize(roi_hist,roi_hist, 0, 255, cv2.norm_minmax)

# 指定均值漂移終止一系列的計算行為

# 均值漂移迭代十次後或者中心移動至少乙個畫素時,終止

term_crit = ( cv2.term_criteria_eps | cv2.term_criteria_count,

目標跟蹤 Meanshift演算法 均值漂移演算法

傳統的meanshift演算法在跟蹤中有幾個優勢 1 演算法計算量不大,在目標區域已知的情況下完全可以做到實時跟蹤 2 採用核函式直方圖模型,對邊緣遮擋 目標旋轉 變形和背景運動不敏感。1 缺乏必要的模板更新 2 跟蹤過程中由於視窗寬度大小保持不變,當目標尺度有所變化時,跟蹤就會失敗 3 當目標速度...

電賽機器視覺 雷射點定位

blob演算法,根據雷射的特徵進行調參,最後精準識別。引用一位老哥的 1.thresholding 首先進行閾值分割。從設定的最小閾值minthreshold引數開始將源圖分割為幾個二值圖。這些閾值是通過設定的步長thresholdstep 逐漸遞增的,知道達到設定好的最大閾值maxthreshol...

電賽機器視覺 稀疏光流追蹤角點

光流概念 光流 optical flow or optic flow 是關於視域中的物體運動檢測中的概念。用來描述相對於觀察者的運動所造成的觀測目標 表面或邊緣的運動。光流法在樣型識別 計算機視覺以及其他影像處理領域中非常有用,可用於運動檢測 物件切割 碰撞時間與物體膨脹的計算 運動補償編碼,或者通...