1. 程式人生 > >OpenCV靜心修煉總結篇7——繪製形狀與文字

OpenCV靜心修煉總結篇7——繪製形狀與文字

繪製直線

    參考程式碼:  

  /* 畫線 */

Point p1 = (20, 30);

Point p2;

p2.x = 300;

p2.y = 300;

Scalar color = Scalar(0, 0, 255);

line(src, p1, p2, color, 3, LINE_8);

繪製矩形

參考程式碼:

/* 畫矩形 */

Rect rect = Rect(200, 100, 300, 300);

Scalar color = Scalar(255, 0, 0);

rectangle(src, rect, color, 2, LINE_8);

繪製橢圓

     參考程式碼:

  

  /* 繪製橢圓 */

  Scalar color = Scalar(0, 255, 0);

ellipse(src, Point(src.cols / 2, src.rows / 2), Size(src.cols / 4, src.rows / 4), 90,0, 360, color, 2, LINE_4);

繪製圓

參考程式碼:  

  /* 繪製圓 */

Scalar color = Scalar(255, 0, 255);

Point center = Point(src.cols / 2, src.rows / 2);

circle(src, center, 150, color, 1, 8);

繪製文字

參考程式碼:

Mat src;

src = imread("E:/1.png");   putText(src,"hellowopenCV",Point(10,100),CV_FONT_HERSHEY_COMPLEX,1.0,Scalar(12,23,200),3,8);

 imshow("output image",src);

 waitKey(0);

繪製隨機直線

  參考程式碼: 

 Mat src;

src = imread("E:/1.png");

RNG rng(12345);

Point p1;

Point p2;

Mat bg = Mat::zeros(src.size(), src.type());

while (1)

{

for (int i = 0; i < 10000; i++)

{

p1.x = rng.uniform(0, src.cols);

p1.y = rng.uniform(0, src.rows);

p2.x = rng.uniform(0, src.cols);

p2.y = rng.uniform(0, src.rows);

Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));

line(bg, p1, p2, color, 1, 8);

imshow("input", bg);

if (waitKey(50) > 0)

{

break;

}

}

}

效果圖: