Draw image
āļŦāļąāļ§āļāđāļāļāļĩāđāļāļ°āļāļĨāđāļēāļ§āļāļķāļāļāļēāļĢāļ§āļēāļāļĢāļđāļāļĢāđāļēāļāļāđāļ§āļĒāļāļēāļĢāđāļāđāļāļģāļŠāļąāđāļ cv2.line, cv2.rectangle āđāļĨāļ° cv2.circle āļāļ°āļāļģāļāļēāļĢāļ§āļēāļāļāļāļ āļēāļāļāļ·āđāļāļŦāļĨāļąāļāļŠāļĩāļāļģ āļāļķāđāļāļāļēāļĢāļŠāļĢāđāļēāļāļ āļēāļāļāļ·āđāļāļŦāļĨāļąāļāļāļ°āļāđāļāļāđāļāđ Numpy āļāļĩāđāđāļāđāļāđāļĨāļāļĢāļēāļĢāļĩāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļāļąāļ§āđāļĨāļ
Create black background
$ np.zeros(shape, dtype="uint8")
Parameters:
shape => āļāļģāļŦāļāļāļāļāļēāļāļāļāļāļāļēāļĢāđāđāļĢāļĒāđ
dtype => āļāļĢāļ°āđāļ āļāļāđāļāļĄāļđāļĨ
Example:
import cv2
import numpy as np
canvas = np.zeros((300, 300, 3), dtype="uint8")
āļāļĢāļĢāļāļąāļāļāļĩāđ 4 => āļŠāļĢāđāļēāļāļāļēāļĢāđāđāļĢāļĒāđāļāļĩāđāđāļāđāļ 0 āļāļāļēāļ 300*300 (āļŠāļđāļ*āļāļ§āđāļēāļ) āđāļĨāļ°āļĄāļĩāļāļ·āđāļāļāļĩāđ 3 āļāđāļāļāļŠāļĩ (RGB)
Line
$ cv2.line(image, start_point, end_point, color, thickness)
Parameters:
image => āļ āļēāļāļāļĩāđāļāđāļāļāļāļēāļĢāļ§āļēāļāđāļŠāđāļ
start_point => āļāļļāļāđāļĢāļīāđāļĄāļāđāļāļāļāļāđāļŠāđāļ āđāļāļĒāļāļ°āđāļāļĩāļĒāļāđāļāļĨāļąāļāļĐāļāļ°āļāļđāđāļāļąāļāļāļąāļ (x,y)
end_point => āļāļļāļāļŠāļīāđāļāļŠāļļāļāļāļāļāđāļŠāđāļ āđāļāļĒāļāļ°āđāļāļĩāļĒāļāļāđāļāļĨāļąāļāļĐāļāļ°āļāļđāđāļāļąāļāļāļąāļ (x,y)
color => āļŠāļĩāļāļāļāđāļŠāđāļ āđāļāļĒāļāļ°āđāļāļĩāļĒāļāđāļāļĨāļąāļāļĐāļāļ° tuple āđāļĨāļ°āđāļāđāļāļĨāļģāļāļąāļāļŠāļĩ BGR
eg: (255, 0, 0) = āļŠāļĩāļāđāļģāđāļāļīāļ
thickness => āļāļ§āļēāļĄāļŦāļāļēāļāļāļāđāļŠāđāļ
Example:
import cv2
import numpy as np
canvas = np.zeros((300, 300, 3), dtype="uint8")
red = (0, 0, 255)
cv2.line(canvas, (300, 0), (0, 300), red, 3)
cv2.imshow("Canvas", canvas)
cv2.waitKey(0)

Circle
$ cv2.circle(image, center_coordinates, radius, color, thickness)
Parameters:
image => āļ āļēāļāļāļĩāđāļāđāļāļāļāļēāļĢāļ§āļēāļāļ§āļāļāļĨāļĄ
center_coordinates => āļāļļāļāļĻāļđāļāļĒāđāļāļĨāļēāļāļāļāļāļ§āļāļāļĨāļĄ āđāļāļĒāļāļ°āđāļāļĩāļĒāļāļāļĒāļđāđāđāļāļĨāļąāļāļĐāļāļ°āļāļļāļāļāļđāđāļāļąāļāļāļąāļ (x,y)
radius => āļĢāļąāļĻāļĄāļĩ āļāļāļēāļāļāļāļāļ§āļāļāļĨāļĄ
color => āļŠāļĩāļāļāļāđāļŠāđāļ āđāļāļĒāļāļ°āđāļāļĩāļĒāļāđāļāļĨāļąāļāļĐāļāļ° tuple āđāļĨāļ°āđāļāđāļāļĨāļģāļāļąāļāļŠāļĩ BGR.
eg: (255, 0, 0) = āļŠāļĩāļāđāļģāđāļāļīāļ
thickness => āļāļ§āļēāļĄāļŦāļāļēāļāļāļāđāļŠāđāļāļĢāļāļāļ§āļāļāļĨāļĄ āļāđāļēāļāļģāļŦāļāļāđāļāđāļ -1 āļāļ°āļāļĨāļēāļĒāđāļāđāļāļ§āļāļāļĨāļĄāļāļķāļ
Example:
import cv2
import numpy as np
canvas = np.zeros((300, 300, 3), dtype="uint8")
(centerX, centerY) = (canvas.shape[1] // 2, canvas.shape[0] // 2)
white = (255, 255, 255)
for r in range(0, 175, 25):
cv2.circle(canvas, (centerX, centerY), r, white)
cv2.imshow("Canvas", canvas)
cv2.waitKey(0)

Rectangle
$ cv2.rectangle(image, start_point, end_point, color, thickness)
Parameters:
image => āļ āļēāļāļāļĩāđāļāđāļāļāļāļēāļĢāļ§āļēāļāļŠāļĩāđāđāļŦāļĨāļĩāđāļĒāļĄ
start_point => āļāļļāļāđāļĢāļīāđāļĄāļāđāļ (āļĄāļļāļĄāļāđāļēāļĒāļāļ) āļāļāļāļŠāļĩāđāđāļŦāļĨāļĩāđāļĒāļĄ āđāļāļĒāļāļ°āđāļāļĩāļĒāļāļāļĒāļđāđāđāļāļĨāļąāļāļĐāļāļ°āļāļļāļāļāļđāđāļāļąāļāļāļąāļ (x,y)
end_point => āļāļļāļāļŠāļīāđāļāļŠāļļāļ (āļĄāļļāļĄāļĨāđāļēāļāļāļ§āļē) āļāļāļāļŠāļĩāđāđāļŦāļĨāļĩāđāļĒāļĄ āđāļāļĒāļāļ°āđāļāļĩāļĒāļāļāļĒāļđāđāđāļāļĨāļąāļāļĐāļāļ°āļāļļāļāļāļđāđāļāļąāļāļāļąāļ (x,y)
color => āļŠāļĩāļāļāļāđāļŠāđāļ āđāļāļĒāļāļ°āđāļāļĩāļĒāļāđāļāļĨāļąāļāļĐāļāļ° tuple āđāļĨāļ°āđāļāđāļāļĨāļģāļāļąāļāļŠāļĩ BGR
eg: (255, 0, 0) = āļŠāļĩāļāđāļģāđāļāļīāļ
thickness => āļāļ§āļēāļĄāļŦāļāļēāļāļāļāđāļŠāđāļāļĢāļāļāļŠāļĩāđāđāļŦāļĨāļĩāđāļĒāļĄ āļāđāļēāļāļģāļŦāļāļāđāļāđāļ -1 āļāļ°āļāļĨāļēāļĒāđāļāđāļāļŠāļĩāđāđāļŦāļĨāļĩāđāļĒāļĄāļāļķāļāļāļķāļ
Example:
import cv2
import numpy as np
canvas = np.zeros((300, 300, 3), dtype="uint8")
blue = (255, 0, 0)
cv2.rectangle(canvas, (0,100), (225, 300), blue, -1)
cv2.imshow("Canvas", canvas)
cv2.waitKey(0)

Text
$ cv2.putText(image, text, org, font, fontScale, color, thickness)
Parameters:
image => āļ āļēāļāļāļĩāđāļāđāļāļāļāļēāļĢāđāļāļĩāļĒāļāļāļąāļ§āļāļąāļāļĐāļĢ
text => āļāđāļāļāļ§āļēāļĄāļāļĩāđāļāđāļāļāļāļēāļĢāđāļāļĩāļĒāļ
org => āļāļļāļāđāļĢāļīāđāļĄāļāđāļāđāļāļĩāļĒāļāļāļąāļ§āļāļąāļāļĐāļĢ āđāļāļĒāđāļāļĩāļĒāļāļāļĒāļđāđāđāļāļĨāļąāļāļĐāļāļ°āļāļļāļāļāļđāđāļāļąāļāļāļąāļ (x,y)
font => āļāļĢāļ°āđāļ āļāļāļāļāļāļąāļ§āļāļąāļāļĐāļĢ
fontScale => āļāļāļēāļāļāļāļāļāļąāļ§āļāļąāļāļĐāļĢ
color => āļŠāļĩāļāļāļāđāļŠāđāļ āđāļāļĒāļāļ°āđāļāļĩāļĒāļāđāļāļĨāļąāļāļĐāļāļ° tuple āđāļĨāļ°āđāļāđāļāļĨāļģāļāļąāļāļŠāļĩ BGR.
eg: (255, 0, 0) = āļŠāļĩāļāđāļģāđāļāļīāļ
thickness => āļāļ§āļēāļĄāļŦāļāļēāļāļāļāđāļŠāđāļāļāļąāļ§āļāļąāļāļĐāļĢ
Example:
import cv2
import numpy as np
canvas = np.zeros((300, 300, 3), dtype="uint8")
cv2.putText(canvas, "Hello world!!", (50,50), cv2.FONT_HERSHEY_COMPLEX, 1, (0,255,0),1 )
cv2.imshow("Canvas", canvas)
cv2.waitKey(0)

Last updated
Was this helpful?