上一节我们学习了积分图(integral)相关的知识点,相信大家学习之后,对积分图已经有了基本的认识,从现在,我们开始了一个新的知识点,就是如何运用openCV中的绘制函数,本节呢,我们学习如何绘制一个带箭头的直线。
一、函数详解
1、函数原型
void arrowedLine(InputOutputArray img,
Point pt1,
Point pt2,
const Scalar& color,
int thickness = 1,
int line_type = 8,
int shift = 0,
double tipLength = 0.1);
2、函数功能
绘制带箭头的直线;
3、参数详解
-
第一个参数,InputOutputArray img,要绘制箭头的图像;
-
第二个参数,Point pt1,箭头的起始点;
-
第三个参数,Point pt2,箭头指向的点;
-
第四个参数,const Scalar& color,绘制的线的颜色;
-
第五个参数,int thickness = 1,线的粗细;
-
第六个参数,int line_type = 8,线的类型;
线的类型:
FILLED,填充;
LINE_4,4连通的线条;
LINE_8 ,8连通的线条;
LINE_AA ,抗锯齿线条;
-
第七个参数,int shift = 0,点坐标中的小数位数;
-
第八个参数,double tipLength = 0.1,箭头的长度与箭头长度的关系;
二、综合实例
1、实验案例
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 载入图像
Mat src = imread("lena.png", 1);
// 判断图像是否为空
if (src.empty())
{
cout << "Image empty !\n";
return 0;
}
namedWindow("原图");
imshow("原图", src);
// 绘制带箭头的直线
arrowedLine(src, Point(10, 10),
Point(300, 300),
Scalar(0, 255, 0), 3, 8);
namedWindow("效果图");
imshow("效果图", src);
waitKey(0);
return 0;
}
2、实验结果
原图(左)与效果图(右)我是奕双,现在已经毕业将近两年了,从大学开始学编程,期间学习了C语言编程,C++语言编程,Win32编程,MFC编程,毕业之后进入一家图像处理相关领域的公司,掌握了用OpenCV对图像进行处理,如果大家对相关领域感兴趣的话,可以关注我,我这边会为大家进行解答哦!如果大家需要相关学习资料的话,可以私聊我哦!
网友评论