Python opencv库画图(绘图)功能

前言

        这里总结一下使用opencv的一些基本画图的操作。

# 导入相关库
import cv2 as cv, numpy as np
# from matplotlib import pyplot as plt
import matplotlib.pyplot as plt     # 上下两种引入方式都可以

# 画图实现代码
"""
1.画线,要绘制一条线,您需要传递线的开始和结束坐标。
我们将创建一个黑色图像,并从左上角到右下角在其上绘制一条蓝线。"""
# 创建黑色图像,这个3是表示是三维数组的意思,如果是灰色图像则不用写3。
# 三维数组指的是彩色图像,每个像素点除了位置信息,还有RGB通道选择。
img = np.zeros((512, 512, 3), np.uint8)
# print(img)
# 绘制一条厚度为5的蓝色对角线,起止坐标:(0, 0), (511, 511),颜色(BGR):(255, 0, 0),厚度:5
cv.line(img, (0, 0), (511, 511), (255, 0, 0), 5)
cv.line(img, (511, 0), (0, 511), (255, 0, 0), 5)

# 2.画矩形,需要矩形的左上角和右下角坐标,在图像的右上角绘制一个绿色矩形。
cv.rectangle(img, (206, 206), (306, 306), (0, 255, 0), 3)

# 3.画圆,需要中心坐标(256, 256)和半径50,在上面绘制的矩形内绘制一个红色(0, 0, 255)的实心(-1)圆。
cv.circle(img, (256, 256), 50, (0, 0, 255), -1)

"""
4.画椭圆,参数1:是中心位置坐标(256, 256)。参数2:是轴长度(长轴长度,短轴长度)(100, 50)
参数3:角度angle是椭圆沿逆时针方向旋转的角度。参数4:startAngle和endAngle表示从主轴
沿顺时针方向测量的椭圆弧的开始和结束,参数5:颜色,参数6:线粗(-1指铺满)"""
cv.ellipse(img, (256, 256), (240, 80), 0, 0, 360, (255, 125, 89), 3)
cv.ellipse(img, (256, 256), (240, 80), 90, 0, 360, (255, 125, 89), 3)
cv.ellipse(img, (256, 256), (240, 80), 45, 0, 360, (255, 125, 89), 3)
cv.ellipse(img, (256, 256), (240, 80), -45, 0, 360, (255, 125, 89), 3)

# 5.画多边形,要绘制多边形,首先需要顶点的坐标。将这些点组成形状为 ROWSx1x2 的数组,
# 其中 ROWS 是顶点数,并且其类型应为int32。若第三个参数为False,将获得一条连接所有点的折线,而不是闭合形状
pts = np.array([[236, 25], [276, 25], [296, 50], [216, 50]], np.int32)
pts = pts.reshape((-1, 1, 2))
cv.polylines(img, [pts], True, (0, 255, 255), 5)    # 颜色(0, 255, 255),线条厚度5

# 5.向图像添加文本:参数:参数1.您要写入的文字数据,参数2.您要放置它的位置坐标(即数据开始的左下角)
# 参数3.字体类型(检查**cv.putText**文档以获取受支持的字体):font,参数4.字体比例:2(指定字体大小)
# 其他参数:例如颜色:(234, 123, 137),厚度:3,线条类型:cv.LINE_AA等。
font = cv.FONT_HERSHEY_SIMPLEX  # 字体类型
cv.putText(img, "JCY_OpenCV", (60, 500), font, 2, (234, 123, 137), 3, cv.LINE_AA)

# 打印图像
cv.imshow("pic", img)   # 显示画图结果
cv.waitKey(0)           # 窗口按键等待
cv.destroyAllWindows()  # 销毁打开的所有窗口

最终画图结果:

         更多相关python使用技巧,可以点击头像噢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值