详解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-6-图像绘制与opencv Line 函数剖析
使用OpenCV的函数polylines()绘制多条相连的线段和多边形;使用函数fillPoly()绘制带填充效果的多边形