豪猪,wu-ope_ope体育手机端_ope体育手机app

上一节咱们学习了根本的绘图函数,信任咱们学习之后,现已有了根本的知道,从现在,本节呢,咱们学习clipLine和drawMarker函数。

一、clipLine()函数详解

1、函数原型

// 原型一
// 假如直线line任何一部分在图画巨细Size内,则回来true
bool clipLine(Size imgSize,

CV_IN_OUT Point& pt1,

CV_IN_OUT Point& 豪猪,wu-ope_ope体育手机端_ope体育手机apppt2);

/吃奶/ 原型二
// 假如直线line任何一部分在图画巨细Size内,则返宁远回true
bool clipLine(Size2l imgSize,

CV_IN_OUT Poin国产好片t2l& 张雯pt1,

CV_IN_OUT Point2l& pt2);

/红楼之怡琏幽梦/ 原型三
// 假如直线line任何一部分在林岚阎军令矩形 'imgRect'内,则回来true
bool clipLine(Rect imgRect,

CV_OUT CV_IN_OUT Point& pt1,

CV_OUT CV_IN_OUT P桐oint& pt2);

2、函数功用

判别一条直线是否在矩形内;

3、参数详解

  • 第一个参数,Size imgSize,假如直线line任何一部分在图画巨细Size内,则回来true;
  • 第二个参数,Rect豪猪,wu-ope_ope体育手机端_ope体育手机app imgRect,假如直线line任何一部分在矩形 'imgRect'内,则回来true;
  • 第三个参数,CV_IN_OUT Point红细胞偏高& pt1,直线的第一个端点;
  • 第四个参数,CV_IN_OUT Poin韩熙雅abbyt& pt2,直线的第二个端点;

4草客、试验实例

#include 
#include

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
bool res = clipLine(Size(100, 100),
Point(101, 101), Point(120, 120));

if (res)
{
cout << "直线在Size内部" << endl;
}
else
{
cout << "直线不在Size内部" << endl;
}

bool resRect = clipLine(Rect(100, 100, 100, 100),
Point(51, 51), Poin李镇旭t(201豪猪,wu-ope_ope体育手机端_ope体育手机app, 201));

if (resRect)
{
cout << "直线在Rect内部" << endl;
}
else
{
cout << "直线不在Rect内部" << endl;
}

system("pau御龙在天se");
return 0;
}

4、试验成果

试验成果


一、drawMarker()函数详解

1、函数原型

void drawMarker(InputOutputArray img, 

Point position,

const Scalar& color,

int markerType = MARKER_CROSS,

int markerSize = 20,

int thickness = 1,

int line_type = 8);

2、函数功用

在图画预界说的方位上制作符号;

现在支撑几种符号类型:

(1) MARKER_CROSS,十字符号形状;

(2) MARKER_TILTED_CROSS,一个45度歪斜的十字符号形状;

(3) MARKER_STAR,星标形状,穿插和歪斜穿插的组合;

(4) MARKER_DIAMOND,钻石符号形状;

(5) MARKER_SQUARE,方形标志形状;

(6)豪猪,wu-ope_ope体育手机端_ope体育手机app MARKER_TRIANGLE_UP,一个向上指向的三角形符号形状;

(7) MARKER_TRIANGLE_DOWN,向下指向三角形标志形状;

3、参数详解

  • 第一个参数,InputOutputArray img,待制作符号的图画;
  • 第二个参数,Point position,制作的中心坐标;
  • 第三个参数,const Scalar& 行进星火新浪博客color,制作符号的色彩;公司章程
  • 第四个参数,int markerType = MARKER_CROSS
  • 第五个参数,int markerSize = 20,
  • 第六个豪猪,wu-ope_ope体育手机端_ope体育手机app参数,int thickness = 1,线段的粗细;
  • 第七个参数,int line_type = 8

线的类型:

FILLED,填充;

LINE_4,4连通的线条;

LINE_8 ,8连通的线条;

LINE_AA ,抗锯齿线条;

4、试验实例

#include 
#include

using namespace std;
using namespace cv;

// 原始图画
Mat src;
// 符号的类型
int value = 1;

// 回调函数
void OnMark(int, void*)
{
// 对原始图画进行备份
Mat dst = src.clone();

// 制作符号
drawMarker(dst,
Point(src.cols / 2, src.rows / 2),
Scalar(0, 255, 0), value, 100, 3);

// 显现制作符号后的图画
imshow("src", dst);
}

int main(int argc, char** argv)
{
// 载入图画
src = imread("lena.png");

// 判穆断图画是否为空
if (src.empty())
{马航370
cout << "image error!" << endl;
return -1;
}

// 创立窗口
namedWindow("src");

// 创立滑动条
createTrackbar("制作符号", "src", &v天气预报央视alue, 6, OnMark);

// 调用回调函数
OnMark(value, 0);

waitKey(0);
return 0;
}

5、试验成果

十字符号


45度十字符号


星标形状,穿插豪猪,wu-ope_ope体育手机端_ope体育手机app和歪斜穿插的组合


钻石符号


方形万人空巷标志形状


向上指向三角形标志形状


向下指向三角形标志形状


我是奕双,现在现已结业将近两年了,从大学开端学编程,期间学豪猪,wu-ope_ope体育手机端_ope体育手机app习了C言语编程,C++言语编程,Win32编程,MFC编程,结业之后进入一家图画处理相关范畴的公司,把握了用Ope吉祥如意nCV对图画进行处理,假如咱们对相关范畴感兴趣的话,能够重视我,我这边会为咱们进行回答哦!假如咱们需求相关学习材料的话,能够私聊我哦!

演示站
上一篇:产后抑郁症,xd-ope_ope体育手机端_ope体育手机app
下一篇:共有产权房,天气预报上海-ope_ope体育手机端_ope体育手机app