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
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
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 |
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 counterclockwise rotation angle
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
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
Source code path:
/home/pi/project_demo/06.Open_source_cv_fundamentals_course/C.Image_Processing_Text_Drawing/05_Rectangle_and_Circle_Drawing.ipynb
ximport cv2
import numpy as np
newImageInfo = (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)
xxxxxxxxxx
import matplotlib.pyplot as plt
dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
plt.imshow(dst)
plt.show()