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

运行结果如下:

相关推荐
小碗羊肉1 分钟前
【从零开始学Java | 第二十八篇】可变参数
java·开发语言
weitingfu12 分钟前
Excel VBA 入门到精通(二):变量、数据类型与运算符
java·大数据·开发语言·学习·microsoft·excel·vba
foundbug99922 分钟前
无人机离散系统模型预测控制(MPC)MATLAB实现
开发语言·matlab·无人机
爱写代码的小朋友31 分钟前
使用 Nuitka 打包 Python 应用:从入门到进阶
开发语言·python
不屈的铝合金32 分钟前
Python入门:数字类型与运算
python·数据类型·python类型判断与转换·python运算符优先级
yuan1999736 分钟前
C# 断点续传下载文件工具设计与实现
开发语言·c#
想唱rap38 分钟前
线程之条件变量和生产消费模型
java·服务器·开发语言·数据库·mysql·ubuntu
智算菩萨1 小时前
【Python图像处理】3 OpenCV核心操作与图像基本变换
图像处理·python·opencv
春蕾夏荷_7282977251 小时前
pyside2 打包发布exe文件
python
Boop_wu1 小时前
[Java 算法] 栈
java·开发语言·算法