本文概述
- 绘图圈
- 绘图矩形
- 画椭圆
- 画线
- 绘制折线
绘图圈 我们可以使用cv2.circle()函数在图像上绘制圆。语法如下:
cv2.circle(img, center, radius, color[, thickness [, lineType[, shift]]])
参数:
- img-它代表给定的图像。
- 圆心
- 半径-圆的半径
- 颜色-圆形颜色
- 厚度-表示圆形轮廓的厚度(如果为正)。负厚度表示要绘制一个实心圆。
- lineType-定义圆边界的类型。
- shift-表示中心坐标和半径值中的小数位数。
import numpy as npimport cv2img = cv2.imread(r"C:\Users\DEVANSH SHARMA\cat.jpeg", 1)cv2.circle(img, (80, 80), 55, (0, 255, 0), -1)cv2.imshow('image', img)cv2.waitKey(0)cv2.destroyAllWindows()
输出
文章图片
绘图矩形 OpenCV提供了绘制简单, 粗细或实心直角矩形的功能。语法如下:
cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
参数:
- img-代表图像。
- pt1-表示矩形的顶点。
- pt2-表示与pt1相反的矩形的顶点。
- color-表示亮度的矩形颜色(灰度图像)。
- 厚度-代表组成矩形的线条的粗细。负值(CV_FILLED)表示该函数必须绘制一个填充的矩形。
- linetype-代表线的类型。
- shift-表示点坐标中的小数位数。
import numpy as npimport cv2img = cv2.imread(r"C:\Users\DEVANSH SHARMA\cat.jpeg", 1)cv2.rectangle(img, (15, 25), (200, 150), (0, 255, 255), 15)cv2.imshow('image', img)cv2.waitKey(0)cv2.destroyAllWindows()
输出
文章图片
画椭圆 我们可以使用cv2.ellipse()函数在图像上绘制椭圆。它可以绘制简单或粗略的椭圆弧, 也可以填充椭圆扇形。
cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]]) cv2.ellipse(img, box, color[, thickness[, lineType]])
参数:
- img-代表图片。
- box-它通过RotatedRect或CvBox2D表示替代的椭圆表示。这意味着该函数用于在弯曲的矩形中绘制椭圆。
- color-表示椭圆的颜色。
- 角度-表示旋转角度。
- startAngle-表示椭圆弧的初始角度(以度为单位)。
- endAngle-表示椭圆弧的终止角度(以度为单位)。
- 厚度-如果该值为正, 则用于绘制椭圆弧轮廓的厚度。否则, 这指定要绘制一个填充的椭圆。
- lineType-表示椭圆边界的类型。
- shift-表示中心坐标和轴值中的小数位数。
import numpy as npimport cv2img = cv2.imread(r"C:\Users\DEVANSH SHARMA\cat.jpeg", 1)cv2.ellipse(img, (250, 150), (80, 20), 5, 0, 360, (0, 0, 255), -1)cv2.imshow('image', img)cv2.waitKey(0)cv2.destroyAllWindows()
输出
文章图片
有两个绘制椭圆的功能。第一个函数用于绘制整个椭圆, 而不是绕过startAngle = 0和endAngle = 360的弧。椭圆的第二个函数用于绘制椭圆轮廓??, 实心椭圆, 椭圆弧或实心椭圆扇形。
画线 OpenCV提供line()函数在图像上绘制线条。它在图像中的ptr1和ptr2点之间绘制线段。图像边界剪切线。
cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
参数:
- img-代表图像。
- pt1-表示线段的第一个点。
- pt2-表示线段的第二点。
- color-代表线条颜色
- 厚度-代表线的粗细
- lineType-有多种类型的线:
- 8条(或省略)-8条连接的线。
- 4-4连接线。
- CV__AA-抗锯齿线
- shift-表示点坐标中的小数位数。
import numpy as npimport cv2img = cv2.imread(r"C:\Users\DEVANSH SHARMA\cat.jpeg", 1)cv2.line(img, (10, 0), (150, 150), (0, 0, 0), 15)cv2.imshow('image', img)cv2.waitKey(0)cv2.destroyAllWindows()
输出
文章图片
在图像上写文字
我们可以使用putText()函数在图像上写文本。语法在下面给出。
cv2.putText(img, text, org, font, color)
参数:
- img:代表图片
- 文字:它代表我们要在图像上书写的文字。
- org:表示图像中文本字符串的左下角。
- 字体:CvFont结构是使用InitFont()初始化的。
- color:代表文本颜色。
import numpy as npimport cv2font = cv2.FONT_HERSHEY_SIMPLEX# Create a black image.img = cv2.imread(r"C:\Users\DEVANSH SHARMA\cat.jpeg", 1)cv2.putText(img, 'Hack Projects', (10, 500), font, 1, (255, 255, 255), 2)#Display the imagecv2.imshow("image", img)cv2.waitKey(0)
输出
文章图片
绘制折线 我们可以在图像上绘制折线。 OpenCV提供了polylines()函数, 该函数用于在图像上绘制多边形曲线。语法如下:
cv2.polyLine(img, polys, is_closed, color, thickness=1, lineType=8, shift=0)
参数:
- img-代表图片。
- pts-表示多边形曲线的数组。
- npts-表示多边形顶点计数器的数组。
- ncounters-代表曲线数。
- is_Closed-这是一个标志, 指示绘制的折线是否关闭。
- color-折线的颜色。
- 厚度-代表折线边缘的厚度。
- lineType-线段的类型。
- shift-表示点坐标中的小数位数。
import numpy as npimport cv2img = cv2.imread(r'C:\Users\DEVANSH SHARMA\forest.jpg', cv2.IMREAD_COLOR)#defining points for polylinespts = np.array([[100, 50], [200, 300], [700, 200], [500, 100]], np.int32)# pts = pts.reshape((-1, 1, 2))cv2.polylines(img, [pts], True, (0, 255, 255), 3)cv2.imshow('image', img)cv2.waitKey(0)cv2.destroyAllWindows()
【OpenCV绘图函数】输出
文章图片
推荐阅读
- OpenCV视频捕获
- 安装OpenCV详细步骤
- OpenCV读取并保存图像
- OpenCV鼠标事件
- OpenCV人脸检测的局限性
- OpenCV图像阈值
- OpenCV图像旋转
- OpenCV图像侵蚀和膨胀
- OpenCV图像过滤器