Draw image

āļŦāļąāļ§āļ‚āđ‰āļ­āļ™āļĩāđ‰āļˆāļ°āļāļĨāđˆāļēāļ§āļ–āļķāļ‡āļāļēāļĢāļ§āļēāļ”āļĢāļđāļ›āļĢāđˆāļēāļ‡āļ”āđ‰āļ§āļĒāļāļēāļĢāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ cv2.line, cv2.rectangle āđāļĨāļ° cv2.circle āļˆāļ°āļ—āļģāļāļēāļĢāļ§āļēāļ”āļšāļ™āļ āļēāļžāļžāļ·āđ‰āļ™āļŦāļĨāļąāļ‡āļŠāļĩāļ”āļģ āļ‹āļķāđˆāļ‡āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļ āļēāļžāļžāļ·āđ‰āļ™āļŦāļĨāļąāļ‡āļˆāļ°āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ Numpy āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļĨāļšāļĢāļēāļĢāļĩāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ•āļąāļ§āđ€āļĨāļ‚

Create black background

$ np.zeros(shape, dtype="uint8")

Parameters:

  • shape => āļāļģāļŦāļ™āļ”āļ‚āļ™āļēāļ”āļ‚āļ­āļ‡āļ­āļēāļĢāđŒāđ€āļĢāļĒāđŒ

  • dtype => āļ›āļĢāļ°āđ€āļ āļ—āļ‚āđ‰āļ­āļĄāļđāļĨ

uint8 āļ„āļ·āļ­ āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āđ€āļĨāļ‚āļ—āļĩāđˆāļĄāļĩāļ‚āļ™āļēāļ” 8 āļšāļīāļ• (0 āļ–āļķāļ‡ 255)

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?