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

运行结果如下:

相关推荐
weixin_428005304 分钟前
C#调用 AI学习从0开始-第1阶段(基础与工具)-第4天CoT思维链学习
开发语言·学习·ai·c#·cot
砍材农夫6 分钟前
物联网 基于netty构建mqtt服务demo演示
开发语言·物联网·php
JAVA面经实录9178 分钟前
Java 并发工具类
java·大数据·开发语言
吃好睡好便好9 分钟前
在Matlab中绘制变半径柱面图
开发语言·人工智能·学习·算法·matlab
驭渊的小故事10 分钟前
Java数据结构集合框架(顺序表(ArrayList)的详细解析)(两千字详细解析)
java·开发语言
hanbr10 分钟前
Qt:事件处理与绘图详解
开发语言·数据库·qt
weixin_4440129311 分钟前
Go语言怎么防SQL注入_Go语言SQL注入防护教程【深入】
jvm·数据库·python
m0_4708576414 分钟前
C#怎么实现蓝牙设备搜索_C#如何开发Bluetooth应用【指南】
jvm·数据库·python
cen__y15 分钟前
Linux知识点复习总结(2)
linux·运维·服务器·c语言·开发语言
方便面不加香菜15 分钟前
C++ 日期类的实现
开发语言·c++