2021-10-12

opencv 画多边形

pts = np.array([[10, 5], [20, 30], [70, 20], [50, 10]], np.int32) #多边形的四个顶点,类型为int32
pts = pts.reshape((-1, 1, 2)) #将多边形的顶点变为n维数组,-1代表n维已经确定,(自适应维度大小)
#reshape((-1, 1, 2))是将原来pts由4 ×2变为4×1×2的数组
cv.polylines(img, [pts], False, (0, 255, 255))
# 对于polylines函数,第一个参数,img是你要的图像,
#第二个参数,是多边形顶点坐标
#第三个参数,如果第三个参数为False,您将获得一条连接所有点的折线,而不是闭合形状。
#第四个参数为颜色
再画一组作为对比
pts1 = np.array([[80, 80], [80, 85], [90, 90], [85, 80]], np.int32)
#
pts1 = pts1.reshape((-1, 1, 2))
cv.polylines(img, [pts1], True, (0, 0, 255))

# 这是pts
[[10  5]
 [20 30]
 [70 20]
 [50 10]]
 这是pts.reshape((-1, 1, 2))
[[[10  5]]

 [[20 30]]

 [[70 20]]
 
 [[50 10]]]

对比图像如下:
可以看出上面黄色的当参数为False时,图像是不闭合的。

向图像添加文字

要将文本放入图像中,需要指定以下内容。 - 您要写入的文字数据 - 您要放置它的位置坐标(即数据开始的左下角)。 - 字体类型(检查cv.putText文档以获取受支持的字体) - 字体比例(指定字体大小) - 常规的内容,例如颜色,厚度,线条类型等。为了获得更好的外观,建议使用lineType = cv.LINE_AA。

font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img, 'OpenCV', (10, 500), font, 4, (255, 255, 255), 2, cv.LINE_AA)

对于函数putText
img:图像名称
'OpenCV':写入的文字
(10, 500):文字的位置坐标
 font:字体类型
 4:文字的尺寸大小
 (255, 255, 255):颜色
 2:线条宽度
 cv.LINE_AA:线条类型

对比如下:

font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img, 'OpenCV', (10, 500), font, 2, (255, 255, 255), 2, cv.LINE_AA)
cv.putText(img, 'OpenCV', (10, 500), font, 4, (0, 255, 255), 6, cv.LINE_AA)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值