Showing posts with label Drawings in openCV. Show all posts
Showing posts with label Drawings in openCV. Show all posts

Monday, 15 August 2016

TUT10: Drawing TEXT on canvas

Hello guys,
          In this tutorial, we are going to see how can we actually write a text like this one below on a canvas(drawing window).



Here's the code:


import cv2
import numpy as np
img=np.zeros((500,500,3), np.uint8)
font= cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, 'ankit',(100,400), font, 4, (255,0,255), 2, cv2.LINE_AA)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Explanation

Line1-2: import necessary packages(see previous tutorials for info on them)

Line 3: Create a canvas using zeros function 

Line 4: We need to specify a font we wish to draw in. I encourage you to see list of fonts available in              cv2 module to try with other fonts too.

Line 5: puttext() is the function that takes in various parameters as follows:
           1) canvas 
           2) String which you want to draw
           3) starting co-ordinate of the string
           4) font type which we stored in variable font
           5) font size
           6) color
           7) thickness of font(dont confuse with size)
           8) line type(click to know more)

Line 6: Show the image

Line 7-8: Hold the screen using waitKey(0) and exit all windows after the canvas is closed


Output:


That's it for this tutorial. See you in next tutorial which is going to be little interesting.

Any queries, please ask in the comment section below.

Tuesday, 2 August 2016

TUT9: Drawing a POKER Face

Hello guys,
         
In this tutorial, we are going to see how to make a simple poker face ( Something like this → `_`).

Here's the code:


import cv2
import numpy as np

img=np.zeros((500,500,3), np.uint8)

cv2.circle(img, (100,100), 70, (255,0,255), 3)
cv2.circle(img, (400,100), 70, (255,0,255), 3)
cv2.circle(img, (250,250), 40, (0,255,255), 3)
cv2.line(img, (100,450), (400,450), (255,255,0), 3)

cv2.imshow('img',img)

cv2.waitKey(0)
cv2.destroyAllWindows()

Line 1-2: Import necessary libraries cv2 and numpy.

Line 3: Create a black surface using np.zeros(). Here, 500 is the height and width of window                           created which will support 3 color channels i.e. RGB.

Line 4: Draw a circle with center (100,100) and 70px radius. (255, 0, 255) will give pink color and 3                specifies the thickness of the circle. This circle is going to be the left eye of the poker face.

Line 5: Draw another circle with center (400,100) and 70px radius. This will be the right eye of the                 face.

Line 6: Draw another circle with center (250,250) and 40px radius. This will be the nose of the                        face.

Line 7: Draw a straight line from (100,450) to (400,450) co-ordinates.

Line 8: Display image using imshow() function.

Line 9-10: Hold image infinitely using waitKey(0) and close any open windows using                                           destroyAllWindows().


OUTPUT:


This will be generated when you run the code. 

That's it for this tutorial. In the next tutorial, we are going to perform some operations on image.

For any queries, use comment section below.

Sunday, 17 July 2016

TUT8: Basic Drawing - Circle

In this tutorial, we are going to see how can we draw a circle using Python, OpenCV and Numpy.

Code:


import cv2                                          #Line 1
import numpy as np                                  #Line 2

img=np.zeros((500,500,3), np.uint8)                 #Line 3 

cv2.circle(img, (200,200), 150, (255, 0, 0), 2)     #Line 4

cv2.imshow('img',img)                               #Line 5

cv2.waitKey(0)                                      #Line 6
cv2.destroyAllWindows()                             #Line 7

Line 1-2: Import necessary packages

Line 3: Create a blank image using np.zeros().   #see previous tutorial to understand how it works.

Line 4: Use function cv2.circle(image, (x, y), r, color, thickness ) to create a circle on the blank                        image
  • image is the name of the blank image on which we will draw our circle
  • (x,y) is the center of the circle. 
  • r is the radius of the circle
  • color defined as (B, G, R). B, G, R represent the intensity of blue, green and red  color in your circle. Max intensity is 255 for each color. You can experiment with other value too for different color circles.
  • thickness represents the thickness of the circumference line of the circle.
Line 5: Display the picture using imshow() function. 

Line 6: Hold screen infinitely until user closes it.

Line 7: Close any open windows. 

OUTPUT:



So that's it for this tutorial. Hope you are learning to use OpenCV with Python and Numpy. See you in my next tutorial where we will learn to draw more complex drawings which will involve use of both circle and line.

Any queries , please ask in comments section below. :)