OpenCV cv2.rectangle() method

Learn via video courses
Topics Covered

Overview

In computer vision and image processing, OpenCV is a popular library used for various image-related tasks. One of the basic operations in OpenCV is drawing geometric shapes on an image, such as rectangles. The cv2.rectangle() method is used to draw rectangles on an image.

Transform Your Career

Choose from our industry-leading programs designed for career success

NSDC Certified

Modern Software and AI Engineering Program

Master full-stack development with AI integration

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Modern Data Science and ML with specialisation in AI

Advanced data science techniques with AI specialization

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Advanced AIML with Specialisation in Agentic AI

Deep dive into AIML with focus on Agentic systems

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

DevOps, Cloud & AI Platform Engineering

Build and manage AI-powered cloud infrastructure

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

AI Engineering Advanced Certification by IIT-Roorkee

Premier AI engineering certification from IIT-Roorkee

3 MonthsDuration
AI-LedCurriculum
Career SupportSupport
Program highlights
Go to Program

Syntax of OpenCV cv2.rectangle() Method

The syntax of the OpenCV cv2.rectangle() method is as follows:

Parameters of OpenCV cv2.rectangle() Method

The cv2.rectangle() takes several parameters, including the image on which the rectangle is to be drawn, the coordinates of the top-left and bottom-right corners of the rectangle, the color of the rectangle, and the thickness of the lines.

The cv2.rectangle() method takes the following parameters:

ParameterExplanation
imgThe image on which the rectangle is to be drawn. This parameter is mandatory and must be a NumPy array.
pt1The coordinates of the top-left corner of the rectangle. It is a tuple of two values, (x, y). This parameter is mandatory.
pt2The coordinates of the bottom-right corner of the rectangle. It is a tuple of two values, (x, y). This parameter is mandatory.
colorThe color of the rectangle. It is a tuple of three values, (B, G, R) representing the intensity of blue, green, and red color channels respectively. The values range from 0 to 255. This parameter is mandatory.
thicknessThe thickness of the lines used to draw the rectangle. If this value is negative, the rectangle will be filled. This parameter is optional and defaults to 1. It can be used to control the width of the lines used to draw the rectangle.

Return Value of OpenCV cv2.rectangle() Method

When the cv2.rectangle() method is called, it modifies the input image by drawing a rectangle on it according to the specified parameters. The rectangle will appear on the specified position of the image with the specified color and thickness. The output of the function is the modified image with the rectangle drawn on it.

Here are some points to summarize the output of the cv2.rectangle() method:

  • The cv2.rectangle() method modifies the input image by drawing a rectangle on it according to the specified parameters.
  • The rectangle will appear on the specified position of the image with the specified color and thickness.
  • The output of the function is the modified image with the rectangle drawn on it.
  • The cv2.rectangle() method does not return anything explicitly.
  • The modified image can be saved or displayed using other functions in the OpenCV library.
Free Courses by top Scaler instructors
Python Course for Beginners With Certification: Mastering the Essentials
Java Course - Mastering the Fundamentals
DBMS Course - Master the Fundamentals and Advanced Concepts
JavaScript Course With Certification: Unlocking the Power of JavaScript
C++ Course: Learn the Essentials
Python and SQL for Data Science
Python Course for Beginners With Certification: Mastering the Essentials
Java Course - Mastering the Fundamentals
DBMS Course - Master the Fundamentals and Advanced Concepts
JavaScript Course With Certification: Unlocking the Power of JavaScript
C++ Course: Learn the Essentials
Python and SQL for Data Science

Exceptions of OpenCV cv2.rectangle() Method

The cv2.rectangle() method may raise the cv2.error exception when an error occurs while processing the image. Specifically, this exception is raised if the image provided to the method is not valid or has some issues that prevent the method from drawing a rectangle on it.

There are several reasons why the cv2.error exception may be raised when using the cv2.rectangle() method. For example:

  • The image file provided may not exist or may be corrupted.
  • The image may not be in a compatible format, such as not being a valid image file or being in an unsupported color space.
  • The image may be of an unsupported size, such as being too large or too small to be processed by the method.
  • When the cv2.error exception is raised, the program will terminate and an error message will be displayed indicating the nature of the error.

To prevent this exception, ensure that the image provided is in a supported format, such as .jpg, .png, or .bmp. Additionally, make sure that the image file exists and can be read by the cv2.imread() method.

Scaler Placement Report and Statistics

₹23L
AVG CTC
SCALER PLACEMENT PROOF

Scaler learners achieved 2.5x salary growth with average post-Scaler CTC reaching ₹23L.

11,000+placements
650+companies
Verified data
Hiring Partners:
GoogleGoogleAmazonAmazonMicrosoftMicrosoftFlipkartFlipkartAdobeAdobe1200+ more

How does the OpenCV cv2.rectangle() Method Work?

Under the hood, cv2.rectangle() uses the same low-level drawing functions as other OpenCV drawing methods, such as cv2.line() and cv2.circle(). These functions take the coordinates of the points to be connected and then calculate the color and thickness of the line segment based on the parameters provided. The result is a modified image with the desired shape drawn on it.

Step 1: Import the OpenCV Library and load the image

This code imports the OpenCV library and loads an image named 'testimage.jpg' using the cv2.imread() method, assigning it to the variable 'image'.

Step 2: Define the measurements of the rectangle

This code defines the points of a rectangle to be drawn on the image. The height, width, and number of channels of the image are determined using the image.shape attribute. The start_point and end_point variables define the top-left and bottom-right corners of the rectangle, respectively. The color variable defines the RGB color of the rectangle, and the thickness variable defines the thickness of the rectangle's border in pixels.

Step 3: Call the cv2.rectangle() method

This code calls the cv2.rectangle() method with the specified parameters to draw a rectangle on the loaded image. The modified image with the rectangle drawn on it is then reassigned to the 'image' variable.

Step 4: Display the output

This code displays the modified image with the rectangle drawn on it using the cv2.imshow() method. The first argument is the title of the window, and the second argument is the modified image. The image is displayed until the user presses a key or closes the window.

Output:

Original Image without Rectangle

input image

Output Image with Rectangle output image

Examples

Here are three examples of using the OpenCV cv2.rectangle() method:

Turn Learning into Career Growth

1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary
1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary

Example 1

Let's implement the code to draw a blue rectangle with a thickness of 2 pixels at the coordinates (100, 100) and (300, 200) on an image named img1.jpg.

Output

Input Image

input image

Output Image

output image

Example 2

Let's implement the code to draw a red rectangle with a thickness of 1 pixel at the coordinates (50, 50) and (150, 150) on a black background image.

Output

Input Image

input image

Output Image

output image

Example 3

Let's implement the code to draw a green rectangle with a thickness of 5 pixels at the coordinates (200, 200) and (400, 300) on a grey background image.

Output

Input Image

input image

Output Image

output image

Conclusion

  • The cv2.rectangle() method is a useful tool for drawing rectangles on images in OpenCV.
  • It takes an image, two points that define the corners of the rectangle, a color, and a thickness as inputs, and draws the rectangle on the image.

See Also

OpenCV documentation: https://docs.opencv.org/master/d6/d6e/group__imgproc__draw.html#ga07d2f74cadcf8e305e810ce8eed13bc9

Tutorial on drawing shapes in OpenCV: https://docs.opencv.org/master/dc/da5/tutorial_py_drawing_functions.html