(笔记一)利用open_cv在图像上进行点标记,文字注记,画圆、多边形、椭圆

(1)CV2中的绘图函数:

  • cv2.line() 绘制线条
  • cv2.circle() 绘制圆
  • cv2.rectangle() 绘制矩形
  • cv2.ellipse() 绘制椭圆
  • cv2.putText() 添加注记

(2)注释

  • img表示需要绘制的图像
  • color表示线条的颜色,采用颜色矩阵
  • thickness表示线条的粗细
  • linestype表示线条的线型

(3)实例

python 复制代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: LIFEI
@time: 2023/8/27 10:21 
@file: im_rd.py
@project: main.py
@describe: TODO
"""
import cv2
import numpy as np


def mask(img_img):
    # 创建一个点标记,cv2.drawMarker(img,点坐标,颜色,样式,线宽)
    draw_marker = cv2.drawMarker(img_img, (256, 256), (255, 0, 0), cv2.MARKER_CROSS, thickness=8)
    # 在点标记的基础上创建一个红色线条赋值给draw_line,cv2.line(draw_marker(img,起始点坐标,终止点坐标,颜色,线宽)
    draw_line = cv2.line(draw_marker, (50, 50), (450, 450), (0, 0, 255), thickness=2)
    # 在上述基础上画一个圆赋值给circle,cv2.circle(img,原点坐标,半径,颜色,线宽)
    circle = cv2.circle(draw_line, (447, 100), 63, (0, 255, 0), 1)
    # 在上述基础上画一个矩形赋值给rect,cv2.rectangle(img,左上角坐标,右下角坐标,颜色,线宽)
    rect = cv2.rectangle(circle, (300, 300), (400, 400), (255, 0, 0), 3)
    # 在上述基础上画一个椭圆ellipse,cv2.ellipse(img,原点,坐标轴,角度,起始角度,终止角度,颜色,线宽,线型,shift)
    ellipse = cv2.ellipse(rect, (120, 120), (100, 50), 0, 0, 360, 255, 1)
    # 在上述基础上绘制文字标记赋值给text
    text = cv2.putText(ellipse, 'Open_cv', (400, 500), cv2.FONT_HERSHEY_SIMPLEX, 4, [255, 30, 56], 2)
    # 返回上述结果
    return text


if __name__ == '__main__':
    img = cv2.imread(r"D:\data\img.png")
    # 创建一个黑色背景图像赋值给img
    # img = np.zeros((512, 512, 3), np.uint8)
    # 显示上述标记
    result = mask(img)
    cv2.imshow("img", result)
    # 等待
    cv2.waitKey(0)
    # 窗口
    cv2.destroyAllWindows()

(4)结果

相关推荐
昵称是6硬币7 小时前
YOLOv11: AN OVERVIEW OF THE KEY ARCHITECTURAL ENHANCEMENTS目标检测论文精读(逐段解析)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
云天徽上9 天前
【目标检测】图像处理基础:像素、分辨率与图像格式解析
图像处理·人工智能·目标检测·计算机视觉·数据可视化
LabVIEW开发9 天前
LabVIEW液位上升图像识别 附件有源码
计算机视觉·labview知识
Echo``10 天前
12.OpenCV—基础入门
开发语言·c++·人工智能·qt·opencv·计算机视觉
jndingxin10 天前
OpenCV CUDA模块设备层-----线程块内初始化连续内存区域 的设备端工具函数blockYota()
人工智能·opencv·计算机视觉
AI technophile10 天前
OpenCV计算机视觉实战(12)——图像金字塔与特征缩放
人工智能·opencv·计算机视觉
无证驾驶梁嗖嗖10 天前
[特殊字符] OpenCV opencv_world 模块作用及编译实践完整指南
opencv
justtoomuchforyou10 天前
PillarNet: Real-Time and High-PerformancePillar-based 3D Object Detection
人工智能·目标检测·计算机视觉·智驾
拾忆-eleven10 天前
UNet改进(5):线性注意力机制(Linear Attention)-原理详解与代码实现
人工智能·计算机视觉
马里马里奥-10 天前
深度学习和计算机视觉的关系的理解
人工智能·深度学习·计算机视觉