yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
Rider Pi Robot📖
0.Quick Start
  • 0. Notes (Must Read)new
  • 1.APP control experience
  • 2.Web page image transmission controlnew
  • 3.Manual
1.RPi Basic course
  • 1.SSH remote login
  • 2.VNC remote login desktop
  • 3. Remote file transfer
  • 4. JupyterLab environment construction and use
  • 5. Write system image
  • 6. Connect to WiFi
  • 7. Close startup programs(MustRead)
  • 8. Raspberry Pi system expansion
2.Car basic control course
  • 1. Car screen display control
  • 2. Car recording audio
  • 3. Car plays audio
  • 4. Car recording video
  • 5. Car plays video
  • 6. RGB light control
  • 7. Car attitude angle reading
  • 8. Read the battery level of the car
3.Car motion control
  • 1. Car forward and backward
  • 2. Car rotation movement
  • 3. Adjust car height
  • 4. Adjust car posture
  • 5. Car self-stabilization mode
  • 6. Car squats and shakes
4.Open Source CV
A. Getting started with OpenCV
  • 1. Introduction to OpenCV
  • 2. OpenCV image reading and display
  • 3. OpenCV image writing
  • 4. OpenCV Image Quality
  • 5.OpenCV pixel operations
B. OpenCV geometric transformation
  • 1. Image scaling
  • 2. Image cutting
  • 3. Image translation
  • 4. Image mirroring
  • 5. Affine Transformation
  • 6. Image Rotation
  • 7. Perspective Transformation
C. OpenCV image processing and drawing text segments
  • 1. Grayscale processing
  • 2. Image Binarization
  • 3. Edge Detection
  • 4. Line drawing
  • 5. Rectangle and circle drawing
  • 6. Text and picture drawing
D. Image beautification
  • 1. Color Image Histogram
  • 2. Histogram Equalization
  • 3. Image repair
  • 4. Brightness enhancement
  • 5. Skin whitening
  • 6. Gaussian mean filtering
  • 7. Median Filter
5.AI Visual recognition course
  • 1. Camera driver tutorial
  • 2. Color recognition
  • 3. HSV value test
  • 4. Object Recognition
  • 5. QR code recognition
  • 6. Human face mask
  • 7. License Plate Recognition
  • 8. Human Pose Estimation
  • 9. Object Detection
  • 10.Yolo detection
  • 11. Face Detection
  • 12. Face effects
  • 13. 3D Object Recognition
  • 14. Paintbrush
  • 15. Finger recognition
  • 16. Gesture Recognition
  • 17.Facial Recognitionnew
  • 18.Emotion Recognitionnew
  • 19.Motion Detectionnew
6.AI Visual interaction course
  • 1. Color tracking
  • 2. Color follows
  • 3. QR code recognition action
  • 4. Face tracking
  • 5. Finger control
  • 6. Gesture following
  • 7. Gesture control car
  • 8. Human Body Followingnew
7. AI Large Model Interaction
  • 0.Principles of Large AI Models
  • 1.Large model premise use configuration
  • 2.Q&A(For cm5)
  • 3.Q&A and ChatGPT(For cm4)
  • 4.Speech recognition
  • 5.Picture to Text
  • 6.Embodied intelligence
Download
  • APP(iOS/Android)
  • System_File
  • Code
  • Hareware_Info
  • AI_Model_File
  • 3D_Model_File
  • Instruction_Manual
Download ZIP

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

ParameterDescription
cv2.FILLEDFill
cv2.LINE_44-connection type
cv2.LINE_88-connection type
cv2.LINE_AAAnti-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

​x
import 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()

 

Line drawing
Text and picture drawing

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文