Welcome to Rider Pi Robot repository
5. Rectangle and circle drawing
5. Rectangle and circle drawing
5. Rectangle and circle drawing5.1. Rectangle and circle drawing5.1.1. OpenCV draws rectangle5.1.2.OpenCV draws a circle5.1.3. OpenCV draws an ellipse5.1.4. OpenCV draws polygons5.2. Actual effect display
5.1. Rectangle and circle drawing
5.1.1. OpenCV draws rectangle
cv2.rectangle(img,pt1,pt2,color,thickness=None,lineType=None,shift=None)
Parameter meaning:
img: canvas or carrier image
pt1,pt2: required parameters. The vertices of the rectangle represent the top and diagonal vertices, that is, the upper left corner and lower right corner of the rectangle (these two vertices can determine a unique rectangle), which can be understood as diagonal lines.
color: required parameter. Used to set the color of the rectangle
thickness: optional parameter. Used to set the width of the rectangle side. When the value is negative, it means filling the rectangle
lineType: optional parameter. Used to set the type of line segment, optional 8 (8 adjacent connecting lines - default), 4 (4 adjacent connecting lines) and cv2.LINE_AA for anti-aliasing
5.1.2.OpenCV draws a circle
cv2.circle(img, center, radius, color[,thickness[,lineType]])
Parameter description:
img: canvas or carrier image
center: circle center coordinates, format: (50,50)
radius: radius
color: color
thickness: line thickness. Default is 1. If -1, it is filled solid.
lineType: line type. Default is 8, connection type. As shown in the following table
| Parameter | Description |
|---|---|
| cv2.FILLED | Fill |
| cv2.LINE_4 | 4-connection type |
| cv2.LINE_8 | 8-connection type |
| cv2.LINE_AA | Anti-aliasing, this parameter will make the line smoother |
5.1.3. OpenCV draws 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 short radius and the long radius, (x, x)
angle: refers to the angle of counterclockwise rotation
StartAngle: the angle of the arc start angle
endAngle: the angle of the arc end angle
img, color can refer to the description of the circle.
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, they represent the opposite direction, that is, the clockwise direction
5.1.4. OpenCV draws polygons
cv2.polylines(img,[pts],isClosed, color[,thickness[,lineType]])
Parameter meaning:
pts: vertices of the polygon
isClosed: whether it is closed. (True/False)
Other parameters refer to the drawing parameters of the circle
5.2. Actual effect display
Source code path:
/home/pi/Rider-pi_class/4.Open Source CV/C.Image_Processing_Text_Drawing/05_Rectangle_and_Circle_Drawing.ipynb
ximport cv2import numpy as npnewImageInfo = (500,500,3)dst = np.zeros(newImageInfo,np.uint8)# 1 2 左上角 3 右下角 4 5 fill -1 >0 line w. 1 2 upper left corner 3 lower right corner 4 5 fill -1 >0 line w.cv2.rectangle(dst,(350,100),(400,270),(0,255,0),3)# 2 center 3 r cv2.circle(dst,(250,250),(50),(255,0,0),2)# 2 center 3 轴 4 angle 5 begin 6 end 7 cv2.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()