Opencv+Python:在Opencv中绘制函数

Posted lincolnlu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Opencv+Python:在Opencv中绘制函数相关的知识,希望对你有一定的参考价值。


在OpenCV中绘制函数

目标

  • 学习使用OpenCV绘制不同的几何形状
  • 你将学习这些函数:cv2.line()cv2.circle()cv2.rectangle()cv2.ellipse()cv2.putText()

在所有上述功能中,您将看到如下所示的一些常见参数:

  • img:想要绘制形状的图像
  • 颜色:形状的颜色。对于BGR,将它作为元组传递,例如:(255,0,0)for blue。对于灰度,只需传递标量值即可。
  • 厚度:线或圆的厚度等。如果像圆圈这样的闭合数字传递-1,它将填充形状。默认厚度= 1
  • lineType:行的类型,无论是8连接,反走样线等。默认情况下,它是8连接。 cv2.LINE_AA给出了曲线非常好的消除锯齿线。

绘制线

要绘制线条,您需要传递线条的起始和结束坐标。我们将创建一个黑色图像,并从左上角到右下角画一条蓝线。

import  numpy  as  np 
import  cv2

#创建一个黑色图像
img  =  np ((512 512 3 ), NP UINT8 

#画一条厚度为
5px 的对角蓝线img  =  cv2 线IMG ,(0 0 ),(511 511 ),(255 0 0 ),5 

绘制矩形

要绘制矩形,需要矩形的左上角和右下角。这次我们将在图像的右上角画一个绿色的矩形。

img  =  cv2 矩形IMG ,(384 0 ),(510 128 ),(0 255 0 ),3 

绘图圈

要绘制一个圆,需要它的中心坐标和半径。我们将在上面绘制的矩形内绘制一个圆。

img  =  cv2 IMG ,(447 63 ), 63  0 0 255 ), - 1 

绘制椭圆

要绘制椭圆,我们需要传递几个参数。一个参数是中心位置(x,y)。下一个参数是轴长度(长轴长度,短轴长度)。angle是椭圆在逆时针方向上的旋转角度。startAngleendAngle表示从长轴顺时针方向测量的椭圆弧的起点和终点。即给出值0和360给出完整的椭圆。有关更多详细信息,请查看cv2.ellipse()的文档下面的示例在图像的中心绘制一个半椭圆。

img  =  cv2 椭圆IMG ,(256 256 ),(100 50 ),0 0 180 255 - 1 

绘制多边形

要绘制多边形,首先需要顶点的坐标。将这些点转换为ROWSx1x2ROWS是顶点数的形状数组,它应该是类型的int32在这里我们绘制一个带有四个黄色顶点的小多边形。

pts  =  np 阵列([[ 10 5 ],[ 20 30 ],[ 70 20 ],[ 50 10 ]], NP INT32 
PTS  =  PTS 重塑((- 1 1 2 ))
IMG  =  CV2 折线IMG ,[ PTS ],,(0 255 255))

注意

如果第三个参数是False,你会得到一个多段线加入所有的点,而不是一个封闭的形状。

注意

cv2.polylines()可以用来绘制多行。只需创建一个您想要绘制的所有线条的列表并将其传递给该函数。所有线路将被单独绘制。绘制一组线要比调用cv2.line()每一条线更好,更快

添加文字到图像:

要将图片放入图片中,您需要指定以下内容。
  • 要写入的文本数据
  • 要放置的位置坐标(即数据开始处的左下角)。
  • 字体类型(查看支持的字体的cv2.putText()文档)
  • 字体比例(指定字体的大小)
  • 定期的东西,如颜色,厚度,线型等为了更好看,建议。lineType cv2.LINE_AA

我们将以白色在我们的图像上编写OpenCV

font  =  cv2 FONT_HERSHEY_SIMPLEX 
cv2 putText IMG ‘的OpenCV‘ ,(10 500 ), 字体 4 ,(255 255 255 ),2 CV2 LINE_AA 

结果

所以是时候看看我们绘图的最终结果了。正如您在之前的文章中所学,显示图像以查看它。

技术分享图片

以上是关于Opencv+Python:在Opencv中绘制函数的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV-Python实战(番外篇)——OpenCV中绘制模拟时钟显示当前时间

在python中的openCV中绘制一个旋转的框

在python中的openCV中绘制一个旋转的框

python-opencv轮廓基本绘制

OpenCV-Python实战——OpenCV中绘制图形与文本(万字总结,️❤️建议收藏️❤️)

在openCV2 Python中绘制convexHull