Welcome to DOFBOT-Ultra repository
17. Rectangular Circle Drawing
Rectangular Circle Drawing
1. Drawing a Rectangle
rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
Parameter description:
img: The canvas or carrier image.
pt1, pt2: Required parameters. Vertices of the rectangle, representing the top-left corner and bottom-right corner respectively (these two vertices define a unique rectangle).
color: Required parameter. Used to set the color of the rectangle.
thickness: Optional parameter. Used to set the width of the rectangle border. When negative, it indicates filling the rectangle.
lineType: Optional parameter. Used to set the type of the line segment. Options are 8 (8-connected line - default), 4 (4-connected line), and cv2.LINE_AA for anti-aliasing.
2. Drawing a Circle
cv2.circle(img, center, radius, color[, thickness[, lineType]])
Parameter description:
img: The canvas or carrier image.
center: The center coordinates of the circle, format: (50,50)
radius: The radius.
color: The color.
thickness: Line thickness. Default is 1. If -1, it fills the circle solid.
lineType: Line type. Default is 8 (connected type). As described in the table below:
| Parameter | Description |
|---|---|
| cv2.FILLED | Fill |
| cv2.LINE_4 | 4-connected type |
| cv2.LINE_8 | 8-connected type |
| cv2.LINE_AA | Anti-aliasing, makes lines smoother |
3. Drawing an Ellipse
cv2.ellipse(img, center, axes, angle, StartAngle, endAngle, color[, thickness[, lineType]])
center: The center point of the ellipse, (x, x)
axes: Refers to the minor radius and major radius, (x, x)
angle: Refers to the angle of counterclockwise rotation
StartAngle: The start angle of the arc
endAngle: The end angle of the arc
img, color: Refer to the circle description.
# The fifth parameter refers to the angle at which the drawing starts counterclockwise, and the sixth refers to the angle at which the drawing ends counterclockwise
# If the fourth, fifth, and sixth parameters are added with a symbol, it means the opposite direction, that is, the clockwise direction
4. Drawing a Polygon
cv2.polylines(img, [pts], isClosed, color[, thickness[, lineType]])
pts: The vertices of the polygon
isClosed: Whether it is closed (True/False)
Other parameters refer to the circle drawing parameters.
Code path:
xxxxxxxxxx~/dofbot_opencv/scripts/3.draw_picture/05_rectangle_circle.ipynb
xxxxxxxxxximport cv2import numpy as npnewImageInfo = (500,500,3)dst = np.zeros(newImageInfo,np.uint8)# 1 2 top-left corner 3 bottom-right corner 4 5 fill -1 >0 line wcv2.rectangle(dst,(350,100),(400,270),(0,255,0),3)# 2 center 3 rcv2.circle(dst,(250,250),(50),(255,0,0),2)# 2 center 3 axes 4 angle 5 begin 6 end 7cv2.ellipse(dst, (256,256), (150,100), 0, 0, 180, (0,255,255), -1)points = np.array([[150,50], [140,140], [200,170], [250,250], [150,50]], np.int32)#print(points.shape)points = points.reshape((-1,1,2))#print(points.shape)cv2.polylines(dst,[points],True,(255,255,0))# cv2.imshow('dst',dst) # cv2.waitKey(0)xxxxxxxxxximport matplotlib.pyplot as pltdst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)plt.imshow(dst)plt.show()