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

结果

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: OpenCV的rectangle函数是用来绘制矩形的函数。它可以在图像上绘制一个矩形,可以设置矩形的位置、大小、颜色等参数。该函数的语法如下: cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) 其,img表示要绘制矩形的图像,pt1和pt2分别表示矩形的左上角和右下角的坐标,color表示矩形的颜色,thickness表示矩形边框的宽度,lineType表示边框线的类型,shift表示坐标点的小数点位数。 ### 回答2: OpenCV的rectangle函数用于在图像上绘制矩形。 该函数的语法如下: ``` cpp cv::rectangle(cv::inputOutputArray img, cv::Point pt1, cv::Point pt2, cv::Scalar color, int thickness = 1, int lineType = 8, int shift = 0); ``` 参数说明: - img:输入图像,在该图像上进行绘制。 - pt1, pt2:矩形的对角顶点坐标,即左上角和右下角的点坐标。 - color:矩形的颜色,可以是RGB或灰度值。 - thickness:矩形的线宽,默认为1。 - lineType:线的类型,默认为8。 - shift:坐标点的小数点位数,默认为0。 注意事项: - 矩形的线宽为正值时,绘制的是实心矩形;线宽为负值时,绘制的是空心矩形。 - 矩形的颜色可以通过BGR值来指定,例如红色可以表示为Scalars(0, 0, 255)。 - 矩形的线型可以是8连接线(默认)或4连接线。 该函数的作用是在图像上绘制一个矩形。通过指定对角顶点的坐标、线宽、颜色等参数,可以实现对矩形的自定义绘制。可以在图像上标出特定区域、框选目标等。矩形绘制完成后,可以通过imshow函数显示图像,或者通过imwrite函数保存图像。 ### 回答3: opencv的rectangle函数用于在图像上绘制矩形框。该函数接受5个参数:图像、矩形左上角的点、矩形右下角的点、矩形边框的颜色和线条的粗细。 使用该函数可以在图像上绘制一个矩形框,将一部分图像的特定区域标出来。矩形框的颜色可以通过指定BGR通道的数值来定义,例如(255, 0, 0)表示蓝色框,(0, 255, 0)表示绿色框,(0, 0, 255)表示红色框。线条的粗细可以通过整数值来设定,例如2表示粗细为2像素。 矩形框的左上角和右下角的点可以通过指定像素坐标来确定,例如(100, 100)表示左上角的点坐标为(100, 100),(200, 200)表示右下角的点坐标为(200, 200)。通过这两个点的坐标可以确定矩形框的位置和大小。 使用该函数可以将图像的目标对象框出来,方便后续的分析和处理。例如在目标检测,可以使用该函数将检测到的目标框出来,以便观察和验证检测结果。此外,该函数也可以用于标注图像的感兴趣区域,例如在图像处理,可以使用该函数将图像的ROI(感兴趣区域)框出来,对该区域进行特定的处理操作。 总之,opencv的rectangle函数是一个非常有用的函数,它可以帮助我们在图像上绘制矩形框,方便后续的分析和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春哥一号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值