OpenCV小白學習筆記 五 繪製形狀和文字

2021-10-07 06:30:39 字數 2199 閱讀 9488

使用cv::point與cv::scalar

繪製線、矩形、園、橢圓等基本幾何形狀

隨機生成與繪製文字

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

point p;

p.x = 10;

p.y = 8;

orp = pont(10,8);

scalar表示四個元素的向量

scalar(a, b, c);// a = blue, b = green, c = red表示rgb三個通道

畫線 cv::line (line_4\line_8\line_aa)// 注:line_aa反鋸齒

畫橢圓cv::ellipse

畫矩形cv::rectangle

畫圓cv::circle

畫填充cv::fillpoly

生成高斯隨機數gaussian (double sigma)

生成正態分佈隨機數uniform (int a, int b)

puttext函式 中設定fontface(cv::hersheyfonts),

#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();

//puttext(bgimage, "hello opencv", point(300, 300), cv_font_hershey_complex, 1.0, scalar(12, 23, 200), 3, 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()

;int npt=

; scalar color =

scalar

(255,12

,255);

fillpoly

(bgimage, ppts, npt,

1, color,8)

;}void

randomlinedemo()

line

(bg, pt1, pt2, color,1,

8);imshow

("random line demo"

, bg);}

}

部分**解析:

注:ellipse(bgimage, point(bgimage.cols / 2, bgimage.rows / 2), size(bgimage.cols / 4, bgimage.rows / 8), 90, 0, 360, color, 2, line_8);

第乙個引數:背景圖

第二個引數:中心點

第三個引數:橢圓的長軸短軸

第四個引數:傾斜角度

第五個、第六個引數:橢圓的弧長

第七個引數:顏色

scalar color = scalar(0, 255, 0);顏色設定

rng.uniform設定隨機數,引數是隨機數的範圍

opencv學習筆記(五)

這段程式來自opencv教程,使用copymakeborder函式來給影象加上邊框 cpp view plain copy include include include include using namespace std using namespace cv intmain 使用說明 cout...

opencv學習筆記(五)

關於濾波和模糊 濾波可分低通濾波和高通濾波兩種。而高斯濾波是指用高斯函式作為濾波函式的濾波操作,至於是不是模糊,要看是高斯低通還是高斯高通,低通就是模糊,高通就是銳化。高斯濾波是一種線性平滑濾波,適用於消除高斯雜訊,廣泛應用於影象處理的減噪過程。載入原圖 mat image imread e 建立視...

Python學習筆記 opencv繪製橢圓

在python環境下使用opencv繪製橢圓,需要用到cv2.ellipse 函式。下面一段示例程式就是用該函式在黑色背景下,繪製乙個圓心在 260,240 長軸170 短軸130 線寬為3的白色橢圓。import cv2 import numpy as np img np.zeros 512,51...