08 繪製形狀和文字

2021-10-02 17:01:12 字數 2394 閱讀 6695

1、使用cv::point(代表點),cv::scalar(代表顏色向量);

2、繪製線,矩形,圓,橢圓等基本幾何形狀;

3、隨機生成與(影象上)繪製文字;

4、**演示;

1、point表示2d平面上乙個點x,y;

//use

point p;

p.x =10;

p.y =8;

orp =

point(10

,8);

2、scalar表示四個元素的向量(scalar最多只能傳入4個引數)

scalar

(a,b,c)

;//a = blue;b = green;c = red表示rgb的3個通道

畫線:cv::line;

line()中有個引數:linetype:line_4\line_8\line_aa(反鋸齒);

畫橢圓:cv::eliipse();

畫矩形:cv::rectangle();

畫圓:cv::circle;

畫填充:cv::fillpoly;

寫字:puttext();

使用rng類生成隨機數,傳入種子12345,方法uniform限定在規定範圍內生成隨機數;

void

randomlinedemo()

line

(bg, pt1, pt2, color,

1, line_8)

;imshow

("random line window"

, bg);}

}

#include

#include

using

namespace std;

using

namespace cv;

mat bgimage;

const

char

* drawdemo_win =

"draw shapes and text demo"

;void

mylines()

;void

myrectangle()

;void

myellipse()

;void

mycircle()

;void

mypolygon()

;void

randomlinedemo()

;int

main

(int argc,

char

** ar**)

mylines()

;myrectangle()

;myellipse()

;mycircle()

;mypolygon()

;//繪製文字 (fontscale)字型大小 thickness: 粗細

puttext

(bgimage,

"hello opencv"

,point

(300

,300

), cv_font_hershey_complex,

1.0,

scalar(12

,23,200),

2, line_8)

;namedwindow

(drawdemo_win, cv_window_autosize)

;imshow

(drawdemo_win, bgimage)

;randomlinedemo()

;waitkey(0

);return0;

}void

mylines()

void

myrectangle()

void

myellipse()

void

mycircle()

void

mypolygon()

//填充圖形

OpenCV 08 繪製形狀和文字

point表示2d平面上乙個點x,y point p p.x 10 p.y 8 or p pont 10,8 scalar表示四個元素的向量scalar a,b,c a blue,b green,c red 表示rgb三個通道 畫線 cv line line 4 line 8 line aa 畫橢圓...

繪製形狀和文字

繪製點 point 繪製線lint 繪製矩形 rectangle 繪製圓形 circle 繪製橢圓 或者弧線 ellipse 繪製多邊形 繪製填充多邊形 繪製文字 puttext 注 字型為 font 或 qt font 備註 linttype line aa 消除鋸齒 隨機生成線 for int ...

opencv 繪製形狀和文字

以下程式可以在影象上寫文字,畫圓,畫矩形,畫線條,寫文字。還可以不斷畫線,非常美。include include includeusing namespace std using namespace cv mat bgimage const char drawdemo win draw shapes...