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

相关推荐
vivo互联网技术2 小时前
VINS-120K: 基于大规模4K数据集的超高清图像编辑 | CVPR 2026
计算机视觉·图像识别
阿图灵3 小时前
OpenCV 轮廓与属性:查找轮廓、面积周长、形状拟合与点测试
图像处理·人工智能·python·opencv·计算机视觉·轮廓
欧特克_Glodon4 小时前
OpenCV计算机视觉开发入门与实践<二十三>:图像平滑之非线性滤波
c++·人工智能·opencv·计算机视觉
阿图灵4 小时前
OpenCV 算术运算四件套:NOT/AND/OR 位运算与图像混合
图像处理·人工智能·python·opencv·计算机视觉·位运算
阿图灵4 小时前
OpenCV 阈值与模糊:全局/自适应阈值、Canny 边缘检测与三种模糊
图像处理·人工智能·python·opencv·计算机视觉·边缘检测
欧特克_Glodon4 小时前
OpenCV计算机视觉开发入门与实践<二十一>:灰度直方图清晰化图像
c++·人工智能·opencv·计算机视觉
java1234_小锋5 小时前
YOLO26 计算机视觉 - YOLO26 简介 & Hello World项目搭建
人工智能·yolo·计算机视觉·机器视觉·yolo26
阿图灵5 小时前
OpenCV 图像特征与匹配:SIFT 特征检测与 BFMatcher 暴力匹配
图像处理·人工智能·python·opencv·计算机视觉·sift
阿图灵5 小时前
OpenCV 实用技巧三连:视频转图片、图片转视频、Pillow 与 OpenCV 互转
图像处理·python·opencv·计算机视觉·音视频·pillow