opencv3 C 基於顏色的目標跟蹤方式

2022-09-26 19:30:34 字數 1207 閱讀 3318

inrange函式

void inrange(inputarray src, inputarr程式設計客棧ay lowerb, inputarray upperb, outputarray dst);

src:輸入影象;

lowerb:下邊界陣列,閾值下限;

upperb:上邊界陣列,閾值上限;

dst:輸出影象;

顏色範圍如圖:

示例:捕獲攝像頭中的黃色方塊

#iwww.cppcns.comnclude

using namespace cv;

int main()

mat frame, dst;

mat kernel;

//開操作處理

kernel = getstructuringelement(morph_rect, size(5, 5));

namedwindow("input", cv_window_autosize);

namedwindow("output", cv_window_autosize);

std::vector<:vector>> contours;

std::vector hireachy;

rect rect;

point2f center;

float radius=20;

while (c

}} //矩形框

//rectangle(frame,rect, scalar(0,255,0),2);

//圓形框

circle(frame, point(center.x,center.y), (int)radius, scalar(0,255,0), 2);

imshow("input", frame);

imshow("output", dst);

waitkey(100);

} capture.release();

return 0;

}關於顏色範圍的選取:

有朋友問顏色範圍的事,比如我們選擇某個偏紅色的範圍,如色環圖中這個區間即bgr(0,128,255)到bgr(255,0,213);則b、g、r這三個通道的範圍分別為0-255,0-128,213-255。因此閾值下限lowerb=scalar(0,0,213),閾值上限upperb=scalar(255,128,255)。

本文標題: opencv3/c++基於顏色的目標跟蹤方式

本文位址:

opencv3 C 單目標跟蹤

opencv3的tracking部分在opencv contrib中,需要用cmake對其進行編譯後才能使用。create 通過名稱建立乙個 create const string trackertype 要使用的 演算法的名稱。init 使用圍繞目標的邊界框初始化 init const mat i...

opencv3 C 離散余弦變換DCT

離散余弦變換 discrete cosine transform,根據離散傅利葉變換的性質,實偶函式的傅利葉變換只含實的余弦項,而數字影象都是實數矩陣,因此構造了一種實數域的變換 離散余弦變換 dct 離散余弦變換具有很強的 能量集中 特性,左上方稱為低頻資料,右下方稱為高頻資料。而大多數的自然訊號...

opencv3 C 離散余弦變換DCT方式

離散余弦變換 discrete cosine transform,根據離散傅利葉變換的性質,實偶函式的傅利葉變換只含實的余弦項,而數字影象都是實數矩陣,因此構造了一種實數域的變換 離散余弦變換 dct 離散余弦變換具有很強的 能量集中 特性,左上方稱為低頻資料,右下方稱為高頻資料。而大多數的自然訊號...