Skip to content
Related Articles

Related Articles

Python OpenCV | cv2.ellipse() method

View Discussion
Improve Article
Save Article
  • Last Updated : 28 Aug, 2019

OpenCV-Python is a library of Python bindings designed to solve computer vision problems. cv2.ellipse() method is used to draw a ellipse on any image.

Syntax: cv2.ellipse(image, centerCoordinates, axesLength, angle, startAngle, endAngle, color [, thickness[, lineType[, shift]]])

Parameters:
image: It is the image on which ellipse is to be drawn.
centerCoordinates: It is the center coordinates of ellipse. The coordinates are represented as tuples of two values i.e. (X coordinate value, Y coordinate value).
axesLength: It contains tuple of two variables containing major and minor axis of ellipse (major axis length, minor axis length).
angle: Ellipse rotation angle in degrees.
startAngle: Starting angle of the elliptic arc in degrees.
endAngle: Ending angle of the elliptic arc in degrees.
color: It is the color of border line of shape to be drawn. For BGR, we pass a tuple. eg: (255, 0, 0) for blue color.
thickness: It is the thickness of the shape border line in px. Thickness of -1 px will fill the shape by the specified color.
lineType: This is an optional parameter.It gives the type of the ellipse boundary.
shift: This is an optional parameter. It denotes the number of fractional bits in the coordinates of the center and values of axes.

Return Value: It returns an image.

Image used for all the below examples:

Example #1:




# Python program to explain cv2.ellipse() method 
    
# importing cv2 
import cv2 
    
# path 
path = r'C:\Users\Rajnish\Desktop\geeksforgeeks\geeks.png'
    
# Reading an image in default mode
image = cv2.imread(path)
    
# Window name in which image is displayed
window_name = 'Image'
   
center_coordinates = (120, 100)
  
axesLength = (100, 50)
  
angle = 0
  
startAngle = 0
  
endAngle = 360
   
# Red color in BGR
color = (0, 0, 255)
   
# Line thickness of 5 px
thickness = 5
   
# Using cv2.ellipse() method
# Draw a ellipse with red line borders of thickness of 5 px
image = cv2.ellipse(image, center_coordinates, axesLength,
           angle, startAngle, endAngle, color, thickness)
   
# Displaying the image 
cv2.imshow(window_name, image) 

Output:

Example #2:
Using thickness of -1 px and rotation of 30 degrees.




# Python program to explain cv2.ellipse() method
    
# importing cv2
import cv2
    
# path
path = r'C:\Users\Rajnish\Desktop\geeksforgeeks\geeks.png'
    
# Reading an image in default mode
image = cv2.imread(path)
    
# Window name in which image is displayed
window_name = 'Image'
   
center_coordinates = (120, 100)
  
axesLength = (100, 50)
  
angle = 30
  
startAngle = 0
  
endAngle = 360
   
# Blue color in BGR
color = (255, 0, 0)
   
# Line thickness of -1 px
thickness = -1
   
# Using cv2.ellipse() method
# Draw a ellipse with blue line borders of thickness of -1 px
image = cv2.ellipse(image, center_coordinates, axesLength, angle,
                          startAngle, endAngle, color, thickness)
   
# Displaying the image
cv2.imshow(window_name, image) 

Output:


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!