函数line()用于在图像上绘制圆形。
函数line()利用两点确定一条直线的原理在图像中绘制出一条线段。
C++原型如下:
void cv::line(InputOutputArray img,Point pt1,Point pt2,const Scalar & color,int thickness = 1,int lineType = LINE_8,int shift = 0)
Python原型如下:
img=cv.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
各参数意义如下:
img—绘制的线段所在的图像。
pt1—线段起点在图像中的坐标。
pt2—线段终点在图像中的坐标。
color—线条的颜色,用三通道表示。
thickness—线条的粗细,默认值为1。
lineType—线条的类型,默认值为LINE_8。
shift—pt1和pt2坐标值的小数位数。
C++示例代码如下:
//出处:昊虹AI笔记网(hhai.cc)
//用心记录计算机视觉和AI技术
//OpenCV版本 OpenCV3.0#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;void main()
{Mat org = imread("F:/material/images/P0039-all_blue.bmp");line(org, Point(100, 50), Point(300, 80), Scalar(0, 255, 0));imshow("img", org);cv::waitKey(0);
}
代码中用到的图像下载链接:
https://pan.baidu.com/s/1_JQQS9qRos74GxtSU9-gqg?pwd=i87b
运行结果如下:
Python示例代码如下:
# -*- coding: utf-8 -*-
# 出处:昊虹AI笔记网(hhai.cc)
# 用心记录计算机视觉和AI技术
# OpenCV的版本为4.4.0import cv2 as cv
import sysimage = cv.imread('F:/material/images/P0039-all_blue.bmp')
if image is None:print('Error: Could not load image')sys.exit()cv.line(image, (100, 50), (300, 80), (0, 255, 0))cv.imshow('Source Image', image)cv.waitKey(0)
cv.destroyAllWindows()
代码中用到的图像下载链接:
https://pan.baidu.com/s/1_JQQS9qRos74GxtSU9-gqg?pwd=i87b
运行结果如下: