倒车入库技巧,【图画处理】OpenCV系列29 - line、circle、ellipse、rectangle,凌将军

频道:天天彩票 日期: 浏览:333

上一节咱们学习五指毛桃的成效与作用了如安在图画上制作一个带箭头的的直线,信任咱们学习之后,现已理解了,本节呢,咱们学习如安在图画上制作圆孔。

一、制作直线line()函数详解

1、函数原型

void line(InputOutputArray img, 

Point pt1,

Point pt2,

const Scalar& color,

int thickness = 1,

int lineType = LINE_8,

int shift = 0);

2、函数功用

在图画上制作恣意的直线;

3、参数详解

  • 第一个参数,InputOutputArray img,要制作直线的图画;
  • 第二个参数,Point pt1,直线的起点;
  • 第三个参数,Point pt2,直线的结尾;
  • 第四个参数,const Scalar& color,制作直线的色彩;
  • 第五个参数,int thickness = 1,线段的粗细;
  • 第六个参数,int lineTy倒车入库技巧,【图画处理】OpenCV系列29 - line、circle、ellipse、rectangle,凌将军pe = everLINE_8,线段的类型;

线的类型:

FILLED,填充;

LINE_4,4连通的线条;

LINE_8 ,8连通的线条;

LINE_AA ,抗锯齿线条;

  • 第七个参数,int shift = 0,点坐标中的小数位数;

4、试验事例

#include 
#include

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
// 创立一幅512 x 512的图画
Mat src(512, 512, CV_8UC3);

// 判别图画是否为空
if (src.empty())
{
cout << "Image empty !\n";
return 0;
}

namedWindow("原图");
imshow("原图", src);

// 制作直线
line(src, Point(10, 10),
Point(300, 300),
Scalar(255, 0, 255), 3, 8);

namedWindow("作用图");
imshow("作用图", src);

waitKey(0);
return 0;
}

5、试验成果

作用鸡翅怎么做好吃图


二、制作圆circle()函数详解

1、函数原型

void circle(InputOutputArray img, 

Point center,

int radius,

const Scalar& color,

int thickness = 1,

int lineType = LINE_8,

int shift = 0);

2、函数功用

在图画上制作恣意的圆;

3、参数详解

  • 第一个参数,InputOutputArray img,要制作圆孔的图画;
  • 第二个参数,Point center,圆孔的中心点;
  • 第三个参数,int radius,圆孔的半径;
  • 第四个参数,const Scalar& color,制作圆孔线的色彩;
  • 第五个参数,int thickness = 1,线段的粗细;
  • 第飛俠神刀六个参数,int lineType = LINE_8,线段的类型;

线的类型:

FILLED,填充;

LINE_4,4连通的线条;

LINE_8 ,8连通的线条;

LINE_AA ,抗锯齿线条;

  • 第七个参数,int shift = 0,点坐标中的小数位数;

4、试验事例

#include 
#福克斯rsinclude

using namespace cv;
using namespace std;

int main(int a尸尊邓辰rgc, char** argv)
{
// 创立一幅256 x 256的图画
Mat src(256, 256, CV_8UC3);

// 判别图画是否为空
if (src.empty())
{
cout << "Image empty !\n";
return 0;
}

namedWindow("原图");
imshow("原图", src);

// 制作圆孔
circle(src, Point(128, 128),
50红斑狼疮前期症状,
Scalar(255, 0, 255), 3, 8);

namedWindow("作用图");
imshow("作用图", src);

waitKey(0);
return 0;
}

5、试验成果

作用图


三、制作椭圆ellipse()函数详解

1、函数原型

void ellipse(InputOutputArray img, 

const RotatedRect& box,

const Scalar& color,

int thickness = 1,

int lineType = LINE_8);

void ellipse(InputOutputArray img,

Point center,

Size axes,

double angle,

double startAngle,

double 倒车入库技巧,【图画处理】OpenCV系列29 - line、circle、ellipse、rectangle,凌将军endAngle,

const Scalar& color,

int thickness = 1,

int lineType = LINE_8,

int shift = 0);

2、函数功用

在图画上制作恣意的椭圆;

函数ellipse具有更十万左右的车排行榜多的参数,制作椭圆概括、填充椭圆、椭圆弧或填充椭圆扇区;

选用分段线性曲线迫临椭圆圆弧鸿沟;假如您需求更多的操控椭圆烘托,您能够重构曲线运用ellipse2Poly,然后用polylines烘托基督山伯爵之伯爵夫人或着用fillPoly填充;

假如您运用该函数的第二个变体,而且期望制作整个椭圆,而不是一个弧线,则能够传递start视点=0和endanges=360;

假如开端角大于端角,则交流它们。下图解说了制作蓝色弧的参数的意义:

椭圆弧参数


3、参数详解

  • 第一个参数,InputOutputArray img,要制作椭圆的图画;
  • 第二个参数,const RotatedRect& box,经过RotatedRect挑选椭圆表明,这意味着函数在旋转矩形中画一个椭圆;
  • 第三个参数,Point center,椭圆的中心点;
  • 第四个参数,Size axes,椭圆主轴尺度的一半;
  • 第五个参数,double angle,椭圆旋转角,以度为单位;
  • 第六个参数,double startAngle,椭圆弧的开端角,以度为单位;
  • 第七个参数,double endAngle,椭圆弧的完毕角,以度为单位;
  • 第八个参数,const Scalar& color,制作椭圆线的色彩;
  • 第九个参数,int thickness = 1倒车入库技巧,【图画处理】OpenCV系列29 - line、circle、ellipse、rectangle,凌将军,线段的粗细;
  • 第十个参数,int lineType = LINE_8,线段的类型;

线的类型:

FILLED,填充;

LINE_4,4连丑女大翻身通的线条;

LINE_8 ,8连通的线条;

LINE_AA ,抗锯齿线条;

  • 第十一个参数,int shift = 0,中心坐标中的小数位数和轴的值;

4、试验事例

#include 
#include

using namespace cv;
using namespace std;

static Scalar randomColor(RNG& rng)
{
int icolor = (unsigned)rng;
return Scalar(icolor & 255,
(icolor >> 8) & 255,
(icolor >> 16) & 255);
}

int main(int argc, char** argv)
{
const int window_width = 512;
const int window_height = 512;

int x_1 = -window_width / 2;
int x_2 = window_width * 3 / 2;
int y_1 = -window_width / 2;
int y_2 = window_width * 3 / 2;

// 创立一幅256 x 256的图画
Mat src(window_height, window_width, CV_8UC3);
char window_name[] = "ellipse";

RNG rng(0xFFFFFFFF);

// 判别图画是否为空
if (src.empty())
{
cout千年等一回 << "Image empty !\n";
return 0;
}

namedWindow("原图");
imshow("原图", src);

for (int i = 0; i < 100; i++)
{
Po光头强运送配备int center;
center.x = rng.uniform(x_1, x_2);
center.y = rng.uniform(y_1, y_2);

Size axes;
axes.width = rng.uniform(0, 200);
axes.height = rng.uniform(0, 200);

double angle = rng.uniform(0, 180);

ellipse(src, center, axes,
angle, angle - 100, angle + 200,
randomColor(rng), rng.uniform(-1倒车入库技巧,【图画处理】OpenCV系列29 - line、circle、ellipse、rectangle,凌将军, 9), 8);

imshow(window_name, src);
waitKey(100);
}

waitKey(0);
return 0;
}

5、试验成果

作用图


四、制作矩形rectangle酸()函数详解

1、函数原型

void rectangle(InputOutputArray img, 

Point pt1,

Point pt2,

const Scalar& color,

int thickness = 1,

int lineType = LINE_8,

int shift = 0);

void rectangle(InputOutputArray img,

Rect rect,

const Scalar& color,

int thickness = 1,

int lineType = LINE_8,

int shift = 0);

2、函数功用

在图画上制作恣意的矩形;

3、参数倒车入库技巧,【图画处理】OpenCV系列29 - line、circle、ellipse、rectangle,凌将军详解

  • 第一个参数,InputOutputArray img,要制作矩形的图画;
  • 第二个参数,Rect rect,制作的矩形;
  • 第三个参数,Point pt1,矩形的左上点;
  • 第四个参数,Point pt2,矩形的右日本午夜下点;
  • 第五个参数,const Scalar& color,制作矩形线的色彩;
  • 第六红楼之怡琏幽梦个参数,int thickness = 1,线段的粗细;
  • 第七个参数,int lineType = LINE_倒车入库技巧,【图画处理】OpenCV系列29 - line、circle、ellipse、rectangle,凌将军8,线段的类型;

线的类型:

FILLED,填充;

LINE_4,4连通的线条;

LINE_8 ,8连通的线条;

LINE_AA ,抗锯齿线条;

  • 第八个参数,int shift = 0,点坐标中的小数位数;

4、试验事例

#include 
#include

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
// 创立一幅256 x 256的图画
Mat src(256, 256, CV_8UC3);

// 判别图画是否为空
if (src.em倒车入库技巧,【图画处理】OpenCV系列29 - line、circle、ellipse、rectangle,凌将军pty())
{
cout << "Image empty !\n";
return 0;
}

namedWindow("原图");
imshow(三月英文"原图", src);

// 制作矩形
rectangle(src, Point(128, 128),
Point(200, 200),
Scalar(255, 0, 255), 3, 8);

Rect rect = Rect(Po特鲁姆普反常杆法int(50, 50), P一同做网店oint(100, 100));

rectangle(src, rect,
Scalar(255, 0, 255), 3, 8);

namedWindow("作用图");
imshow("作用图", src);

waitKey(0);
return 0;
}

5、试验成果

作用图


我是奕双,现在现已结业将近两年了,从大学开端学编程,期间学习了C言语编程,C++言语编程,Win32编程,MFC编程,结业喝酒脸红是怎么回事之后进入一家图画处理相关范畴的公司,把握了用OpenCV对图画进行处理,假如咱们对相关范畴感兴趣的话,能够重视我,我这边会为咱们进行回答哦!假如咱们需求相关学习材料的话,能够私聊我哦!

热门
最新
推荐
标签