• OpenCV学习(二)——OpenCV中绘图功能


    2. OpenCV中绘图功能

    绘图可以实现画线、画矩形、画圆、画多边形和添加文本等操作。

    import cv2
    import numpy as np
    
    # 读取图像
    img = cv2.imread('lena.jpg')
    
    # 画直线
    cv2.line(img, (0, 0), (512, 512), (255, 0, 0), 5)
    
    # 画矩形
    cv2.rectangle(img, (100, 150), (150, 200), (0, 255, 0), 3)
    
    # 画圆
    cv2.circle(img, (200, 300), 40, (0, 0, 255), -1)
    
    # 画多边形
    pts = np.array([[15, 10], [20, 30], [70, 20], [50, 60]], np.int32)
    pts = pts.reshape((-1, 1, 2))
    cv2.polylines(img, [pts], True, (0, 255, 255), 3)
    
    # 添加文本
    font = cv2.FONT_HERSHEY_SIMPLEX
    cv2.putText(img, 'lena', (120, 450), font, 4, (255, 255, 255), 2, cv2.LINE_AA)
    
    # 显示图像
    cv2.imshow('image', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    请添加图片描述

    2.1 画线

    cv2.line(img, pt1, pt2, color, thickness=None)

    • img:绘制形状的图像
    • pt1:线的开始坐标
    • pt2:线的结束坐标
    • color:形状的颜色
    • thickness:厚度,线或圆等的粗细。如果对闭合图形(如圆)传递-1 ,它将填充形状。

    2.2 画矩形

    cv2.rectangle(img, pt1, pt2, color, thickness=None)

    • img:绘制形状的图像
    • pt1:矩形左上角点坐标
    • pt2:矩形右上角点坐标
    • color:形状的颜色
    • thickness:厚度,线或圆等的粗细。如果对闭合图形(如圆)传递-1 ,它将填充形状。

    2.3 画圆

    cv2.circle(img, center, radius, color, thickness=None)

    • img:绘制形状的图像
    • center:中心坐标
    • radius:半径
    • color:形状的颜色
    • thickness:厚度,线或圆等的粗细。如果对闭合图形(如圆)传递-1 ,它将填充形状。

    2.4 画多边形

    cv2.polylines(img, pts, isClosed, color, thickness=None)

    • img:绘制形状的图像
    • pts:顶点的坐标,为数组且类型为int32
    • isClosed:是否闭合
    • color:形状的颜色
    • thickness:厚度,线或圆等的粗细。如果对闭合图形(如圆)传递-1 ,它将填充形状。

    2.5 添加文本

    cv2.putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None)

    • img:添加文本的图像
    • text:写入的文字数据
    • org:位置坐标(即数据开始的左下角)
    • fontFace:字体类型
    • fontScale:字体比例(指定字体大小)
    • color:文本的颜色
    • thickness:文本的粗细
    • lineType:线条类型
  • 相关阅读:
    SSM框架使用多数据源(druid连接池)
    Nginx网络服务之监控模块
    idea没有maven工具栏解决方法
    nodeJs基础笔记
    模型权重初始化代码
    Mysql通过Canal同步Elasticsearch
    QT day 2
    MySQL(4)
    unity 双击物体让其显示,再次双击让其隐藏
    公司服务器中的kafka消息中间件挂了,我是如何修复的?
  • 原文地址:https://blog.csdn.net/qq_38473254/article/details/134064759