opencv畫矩形框

2021-09-10 17:45:58 字數 1255 閱讀 5917

rectangle 畫矩形

c++: mat類

void rectangle(mat& img,point pt1, point pt2, const scalar&color, 

int thickness=1,int linetype=8, int shift=0)

void rectangle(mat& img,cvpoint(x, y), cvpoint(x + w, y + h), scalar(255, 0, 0),

int thickness=1, int linetype=8,int shift=0)

引數:·img – 畫矩形的物件

·pt1 – 矩形的乙個頂點,左上角的.

·pt2 – 另乙個頂點,右下角的.

·rec – 確定矩形的另一種方式,給左上角座標和長寬

·color – 指定矩形的顏色或亮度(灰度影象),scalar(255,0,255)既可指定.

·thickness – 矩形邊框的粗細. 負值(like cv_filled)表示要畫乙個填充的矩形

·linetype – 邊框線型. (   

8 (or 0) - 8-connected line(8鄰接)連線 線。

4 - 4-connected line(4鄰接)連線線。

cv_aa - antialiased 線條。)

·shift –座標點的小數點位數

例1:short * p = ((short*)(presults + 1)) + 6 * i;//表示檢測到的人臉區域

int x = p[0]; //檢測到的人臉區域的左上角座標及寬高

int y = p[1];

int w = p[2];

int h = p[3];

rectangle(gray, point(x, y), point(x + w, y + h), scalar(0, 0, 255), 2, 8);//利用左上角座標及寬高

例2:int x = cvround(shape[0].x);

int y = cvround(shape[17].y-10);

int w = cvround(shape[14].x-shape[0].x);

int h = cvround(shape[7].y - shape[17].y);

//畫出紅色矩形框

rectangle(pic_rgb, point(x,y),point(x+w,y+h), scalar(0, 0, 255), 3, 8, 0);

原文:

opencv 對於矩形框的操作

如果建立乙個rect物件rect 100,50,50,100 那麼rect會有以下幾個功能 rect.area 返回rect的面積 5000 rect.size 返回rect的尺寸 50 100 rect.tl 返回rect的左上頂點的座標 100,50 rect.br 返回rect的右下頂點的座標...

OpenCV 輪廓及矩形框提取

參考 opencv3 c 輪廓的提取與篩選 define crt secure no warnings include include include using namespace cv using namespace xfeatures2d using namespace std intmain...

VC滑鼠拖動動態畫矩形框

要實現的功能實際上很簡單,一般人都用到見慣不慣了,但是實現起來還是有點意思的。問題詳細描述 三步 單擊滑鼠左鍵時記錄下單擊點 滑鼠拖動時,顯示的矩形框能夠動態的跟隨顯示 釋放滑鼠左鍵時擦出矩形框。這樣分析其實問題就簡單一些了,只需要對滑鼠的三個事件進行相應就可以了。主要在三處地方修改了 第一處 vi...