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")

运行结果如下:

相关推荐
lsx202406几秒前
Django 视图 - FBV 与 CBV
开发语言
不会写DN2 分钟前
如何让两个Go程序远程调用?
开发语言·qt·golang
啊哈哈121382 分钟前
从零构建 Multi-Agent 系统:SQLAgent + RAGAgent + 智能路由实战
人工智能·python
froginwe113 分钟前
MongoDB 关系
开发语言
墨染天姬6 分钟前
【AI】PyTorch/TF 也会变成考古?
人工智能·pytorch·python
ん贤3 小时前
Go channel 深入解析
开发语言·后端·golang
小陳参上5 小时前
用Python创建一个Discord聊天机器人
jvm·数据库·python
2301_789015625 小时前
DS进阶:AVL树
开发语言·数据结构·c++·算法
Filotimo_6 小时前
5.3 Internet基础知识
开发语言·php
识君啊7 小时前
Java异常处理:中小厂面试通关指南
java·开发语言·面试·异常处理·exception·中小厂