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

运行结果如下:

相关推荐
创意岛几秒前
大湾区制造企业品牌突围:从“有品无牌”到价值孵化
python·制造
是有头发的程序猿1 分钟前
AI Agent自动化交易流程:1688定制交易API全链路开发实战教程(Python源码)
python·自动化·php
yexuhgu2 分钟前
C#怎么实现线程安全的单例_C#如何使用Lazy延迟加载【核心】
jvm·数据库·python
sakiko_2 分钟前
Swift报错合集(Xcode编译器)
开发语言·swiftui·xcode·swift·uikit
海盗12343 分钟前
C#中使用MiniExcel 快速入门:读写 .xlsx 文件
开发语言·windows·c#
X56614 分钟前
什么是Bootstrap的移动优先响应式设计
jvm·数据库·python
XMYX-04 分钟前
29 - Go time 时间模块详解:时间处理、定时控制与底层设计
开发语言·golang
m0_470857644 分钟前
实现一个可精确定位、支持左右移动与删除的文本光标系统
jvm·数据库·python
小小de风呀5 分钟前
de风——【从零开始学C++】(七):string类详解
开发语言·c++·算法
丘比特惩罚陆5 分钟前
制作类似aimlab的测试手速反应力的小游戏
开发语言·javascript·visual studio