使用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...