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

Posted 昊虹AI笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解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
运行结果如下:

以上是关于详解OpenCV的线段绘制函数line()的主要内容,如果未能解决你的问题,请参考以下文章

opencv —— 基本图形的绘制

详解用OpenCV绘制各类几何图形

opencv学习笔记基本图像的绘制——直线椭圆矩形圆和多边形

OpenCV-Python计算机视觉函数

opencv-6-图像绘制与opencv Line 函数剖析

使用OpenCV的函数polylines()绘制多条相连的线段和多边形;使用函数fillPoly()绘制带填充效果的多边形