(笔记一)利用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)结果

相关推荐
乔公子搬砖1 小时前
计算机视觉全景指南:从OpenCV预处理到YOLOv8实战,解锁多模态AI时代(第五章)
人工智能·opencv·计算机视觉·ai·语言模型·大模型
七77.12 小时前
Track Any Anomalous Object: A Granular Video Anomaly Detection Pipeline
深度学习·计算机视觉·异常检测
2501_9247306112 小时前
智慧城管复杂人流场景下识别准确率↑32%:陌讯多模态感知引擎实战解析
大数据·人工智能·算法·计算机视觉·目标跟踪·视觉检测·边缘计算
2501_9247471115 小时前
驾驶场景玩手机识别准确率↑32%:陌讯动态特征融合算法实战解析
人工智能·算法·计算机视觉·智能手机
EQ_雪梨蛋花汤16 小时前
【话题讨论】AI与XR融合的未来:大模型如何重塑AR/VR/MR产业应用与开发模式
计算机视觉
Jason_zhao_MR17 小时前
如何板端编译OpenCV并搭建应用--基于瑞芯微米尔RK3576开发板
人工智能·嵌入式硬件·mcu·opencv·物联网·计算机视觉·嵌入式
新手村领路人17 小时前
c++ opencv调用yolo onnx文件
c++·opencv·yolo
张登杰踩20 小时前
OpenCV cv2.flip() 函数详解与示例
人工智能·opencv·计算机视觉
爱思德学术21 小时前
中国计算机学会(CCF)推荐学术会议-A(计算机图形学与多媒体):VR 2026
计算机视觉·图形渲染·虚拟现实·用户界面
luofeiju21 小时前
OpenCV图像裁剪与 ROI 操作
opencv