详解OpenCV的线段绘制函数line()

函数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.0

import cv2 as cv
import sys

image = 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
运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wenhao_ir/article/details/128388722