python-opencv在图片中绘制各种图形

python-opencv在图片中绘制各种图形

1.绘制直线

2.绘制矩形

3.绘制圆

4.绘制椭圆

5.绘制多边形

6.嵌入文字

实现代码都在下面了,代码中参数做了简单注释

python 复制代码
import copy
import math
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import os

import cv2


def cv_show(name,img):
    cv2.imshow(name,img)
    #cv2.waitKey(0),接收0,表示窗口暂停
    cv2.waitKey(0)
    #销毁所有窗口
    cv2.destroyAllWindows()

'''

礼帽运算:原图-开运算
黑帽运算:闭运算-原图


'''

img=np.zeros((512,512,3),np.uint8)
## 1.绘制直线
cv2.line(img,
         (0,0),#左上角坐标
         (256,256),#右下角坐标
         (255,0,0),#颜色
         5)#线条粗细


## 2.绘制矩形
cv2.rectangle(img,(0,0),#左上角坐标
              (256,256),#右下角坐标
              (100,100,0),#颜色
              5)#线条粗细



## 3.绘制圆


cv2.circle(img,
           (255,255),#中心坐标
           40, #半径
           (255,0,0),
           5)#线条粗细



## 4.绘制椭圆
cv2.ellipse(
    img,
    (256, 256),
    (256, 128),
    0,  # 逆时针旋转角度
    0,  # 开始角度
    360,  # 结束角度
    (0, 0, 255),
    -1
)
pts=np.array([
    [50,50],#多边形连接节点坐标
    [400,100],
    [100,400]
    ])


## 5.绘制多边形

cv2.polylines(img,[pts],True,(255,0,0),5)
## 6.嵌入文字
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,
            'I like opencv',
            (50,300),#文字坐标
            font,#字体选择
            1,#字体大小
            (140,140,0)#字体颜色
            )

img_line=img[:,:,::-1]
plt.imshow(img_line)
plt.show()


os.system("pause")

运行结果如下:

相关推荐
用户8356290780511 天前
使用 C# 在 Excel 中创建数据透视表
后端·python
码路飞1 天前
FastMCP 实战:一个 .py 文件,给 Claude Code 装上 3 个超实用工具
python·ai编程·mcp
dev派1 天前
AI Agent 系统中的常用 Workflow 模式(2) Evaluator-Optimizer模式
python·langchain
前端付豪1 天前
AI 数学辅导老师项目构想和初始化
前端·后端·python
用户0332126663671 天前
将 PDF 文档转换为图片【Python 教程】
python
悟空爬虫1 天前
UV实战教程,我啥要从Anaconda切换到uv来管理包?
python
dev派1 天前
AI Agent 系统中的常用 Workflow 模式(1)
python·langchain
明月_清风1 天前
从“能用”到“专业”:构建生产级装饰器与三层逻辑拆解
后端·python
曲幽2 天前
数据库实战:FastAPI + SQLAlchemy 2.0 + Alembic 从零搭建,踩坑实录
python·fastapi·web·sqlalchemy·db·asyncio·alembic
用户8356290780512 天前
Python 实现 PowerPoint 形状动画设置
后端·python