1. 程式人生 > >OpenCV2基礎操作----直線、矩形、圓、橢圓函式的使用

OpenCV2基礎操作----直線、矩形、圓、橢圓函式的使用

opencv2幾個畫圖函式的呼叫

要用到幾個隨機變數:

    int fr = rand()%frame.rows;
    int fc = rand()%frame.cols;
    int b = rand()%255;
    int g = rand()%255;
    int r = rand()%255;
    int angel = rand()%360;
    int lsx = rand()%frame.rows;
    int lsy = rand()%frame.cols;
    int lex = rand()%frame.rows;
    int
ley = rand()%frame.cols ; int i = rand()%20; int rr = min( fr, fc );

1、畫直線函式

void line(CV_IN_OUT Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0);

img:目標影象
pt1:起點座標
pt1:終點座標
color:畫素顏色
thickness:線條寬度,預設為1
後邊兩個的效果是什麼就不太懂了!!!

line( frame, Point(lsx, lsy)
, Point(lex, ley), Scalar( b, g, r ), 5, 8 )
;

效果如下:

2、畫矩形函式
(1)、函式一:

void rectangle(CV_IN_OUT Mat& img, Point pt1, Point pt2,const Scalar& color, int thickness=1,int lineType=8, int shift=0);

img:目標影象
pt1:左上角座標
pt1:右下表座標
color:畫素顏色
thickness:線條寬度,預設為1
後邊兩個的效果是什麼就不太懂了!!!

rectangle( frame, Point(lsx, lsy)
, Point(lex, ley), Scalar( b, g, r ), 5, 8 )
;

效果如下:

(2)、函式二:

void rectangle(CV_IN_OUT Mat& img, Rect rec, const Scalar& color, int thickness=1, int lineType=8, int shift=0);

img:目標影象
rec:矩形區域
color:畫素顏色
thickness:線條寬度,預設為1
後邊兩個的效果是什麼就不太懂了!!!
3、畫圓形函式

void circle(CV_IN_OUT Mat& img, Point center, int radius, const Scalar& color, int thickness=1, int lineType=8, int shift=0);

img:目標影象
center:中心點座標
radius:半徑長度
color:畫素顏色
thickness:線條寬度,預設為1
後邊兩個的效果是什麼就不太懂了!!!

circle( frame, Point(fr+150,fc-150), rr*4, Scalar(b, g, r), 2 );

效果如下:

4、畫橢圓函式

void ellipse(CV_IN_OUT Mat& img, Point center, Size axes, double angle, double startAngle, double endAngle, const Scalar& color, int thickness=1, int lineType=8, int shift=0);

img:目標影象
center:中心點座標
axes:兩條軸長度
angle:整個橢圓偏轉角度
startAngle:起始角度
endAngle:終止角度
color:畫素顏色
thickness:線條寬度,預設為1
後邊兩個的效果是什麼就不太懂了!!!

ellipse( frame, Point(fr,fc),Size(fr,fc), angel, 0, 360, Scalar(b, g, r), 1, 8 );

效果如下:

ellipse( frame, Point(frame.rows/2,frame.cols/2),Size(fr,fc/2), angel, 90, 270, Scalar(b, g, r), 6, 8 );

效果如下: