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 離散余弦變換具有很強的 能量集中 特性,左上方稱為低頻資料,右下方稱為高頻資料。而大多數的自然訊號...