昊虹君 发表于 2022-12-20 18:13

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

详解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技术

//博主微信/QQ 2487872782
//QQ群 271891601
//欢迎技术交流与咨询

//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
运行结果如下:
http://pic1.hhai.cc/pic1/2022/2022-12/001/63.png

Python示例代码如下:
# -*- coding: utf-8 -*-
# 出处:昊虹AI笔记网(hhai.cc)
# 用心记录计算机视觉和AI技术

# 博主微信/QQ 2487872782
# QQ群 271891601
# 欢迎技术交流与咨询

# 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
运行结果如下:
http://pic1.hhai.cc/pic1/2022/2022-12/001/64.png
页: [1]
查看完整版本: 详解OpenCV的线段绘制函数line()