Draw an rectangle using OpenCV in C++ Last Updated : 19 Mar, 2021 Comments Improve Suggest changes Like Article Like Report In this article, the task is to draw an rectangle using OpenCV in C++. The rectangle() function from OpenCV C++ library will be used. Syntax: rectangle( img, pt1, pt2, color, thickness, line Type, shift) Parameters: image: It is the image on which the rectangle is to be drawn.start(pt1): It is the top left corner of the rectangle represented as the tuple of two coordinates i.e., (x-coordinate, y-coordinate).end(pt2): It is the bottom right corner of the rectangle represented as the tuple of two coordinates i.e., (x-coordinate, y-coordinate).color: It is the color of the borderline of the rectangle to be drawn. A tuple representing 3 colors (B, G, R) i.e., (Blue, Green, Red).thickness: It is the thickness of the rectangle borderline in px. The thickness of -1 px will fill the rectangle shape by the specified color.lineType: Type of the line. There are 3 types of line:LINE_4: Line was drawn using 4 connected Bresenham algorithm.LINE_8: Line was drawn using 8 connected Bresenham algorithm.LINE_AA: It draws Anti-aliased lines formed by using a Gaussian filter.shift: The number of fractional bits in the point coordinates. Return Value: It returns an image. Program 1: Below is the C++ program demonstrating how to draw a rectangle over a self-formed background image: C++ // C++ program to demonstrate rectangle // over a self-formed background image #include <iostream> #include <opencv2/core/core.hpp> // Drawing shapes #include <opencv2/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; // Driver Code int main(int argc, char** argv) { // Creating a blank image with // white background Mat image(500, 500, CV_8UC3, Scalar(255, 255, 255)); // Check if the image is created // successfully or not if (!image.data) { std::cout << "Could not open or " << "find the image\n"; return 0; } // Top Left Corner Point p1(30, 30); // Bottom Right Corner Point p2(255, 255); int thickness = 2; // Drawing the Rectangle rectangle(image, p1, p2, Scalar(255, 0, 0), thickness, LINE_8); // Show our image inside a window imshow("Output", image); waitKey(0); return 0; } Output: Program 2: Below is the C++ program demonstrating how to draw a rectangle over the image of the GFG Logo: C++ // C++ program to demonstrate rectangle // over a loaded image of GFG logo #include <iostream> #include <opencv2/core/core.hpp> // Drawing shapes #include <opencv2/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; // Driver Code int main(int argc, char** argv) { // Reading the Image Mat image = imread("C:/Users/harsh/Downloads/geeks.png", IMREAD_COLOR); // Check if the image is created // successfully or not if (!image.data) { std::cout << "Could not open or " << "find the image\n"; return 0; } // Top Left Coordinates Point p1(30, 70); // Bottom Right Coordinates Point p2(115, 155); int thickness = 2; // Drawing the Rectangle rectangle(image, p1, p2, Scalar(255, 0, 0), thickness, LINE_8); // Show our image inside a window imshow("Output", image); waitKey(0); return 0; } Output: Program 3: Below is the C++ program demonstrating how to draw a rectangle filled with color: C++ // C++ program to demonstrate rectangle // filled with any color #include <iostream> #include <opencv2/core/core.hpp> // Drawing shapes #include <opencv2/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; // Driver Code int main(int argc, char** argv) { // Creating a blank image with // white background Mat image(500, 500, CV_8UC3, Scalar(255, 255, 255)); // Check if the image is created // successfully or not if (!image.data) { std::cout << "Could not open or " << "find the image\n"; return 0; } // Top Left Corner Point p1(30, 30); // Bottom Right Corner Point p2(255, 255); int thickness = -1; // Drawing the Rectangle rectangle(image, p1, p2, Scalar(0, 255, 0), thickness, LINE_8); // Show our image inside a window imshow("Output", image); waitKey(0); return 0; } Output: Comment More infoAdvertise with us Next Article Draw an rectangle using OpenCV in C++ C Captain_JackSparrow Follow Improve Article Tags : C++ Programs C++ OpenCV computer-graphics Practice Tags : CPP Similar Reads C++ Programming Language C++ is a computer programming language developed by Bjarne Stroustrup as an extension of the C language. It is known for is fast speed, low level memory management and is often taught as first programming language. It provides:Hands-on application of different programming concepts.Similar syntax to 5 min read Object Oriented Programming in C++ Object Oriented Programming - As the name suggests uses objects in programming. Object-oriented programming aims to implement real-world entities like inheritance, hiding, polymorphism, etc. in programming. The main aim of OOP is to bind together the data and the functions that operate on them so th 5 min read Inheritance in C++ The capability of a class to derive properties and characteristics from another class is called Inheritance. Inheritance is one of the most important features of Object-Oriented Programming in C++. In this article, we will learn about inheritance in C++, its modes and types along with the informatio 10 min read 30 OOPs Interview Questions and Answers [2025 Updated] Object-oriented programming, or OOPs, is a programming paradigm that implements the concept of objects in the program. It aims to provide an easier solution to real-world problems by implementing real-world entities such as inheritance, abstraction, polymorphism, etc. in programming. OOPs concept is 15 min read Vector in C++ STL C++ vector is a dynamic array that stores collection of elements same type in contiguous memory. It has the ability to resize itself automatically when an element is inserted or deleted.Create a VectorBefore creating a vector, we must know that a vector is defined as the std::vector class template i 7 min read Templates in C++ C++ template is a powerful tool that allows you to write a generic code that can work with any data type. The idea is to simply pass the data type as a parameter so that we don't need to write the same code for different data types.For example, same sorting algorithm can work for different type, so 9 min read Operator Overloading in C++ in C++, Operator overloading is a compile-time polymorphism. It is an idea of giving special meaning to an existing operator in C++ without changing its original meaning.In this article, we will further discuss about operator overloading in C++ with examples and see which operators we can or cannot 8 min read C++ Classes and Objects In C++, classes and objects are the basic building block that leads to Object-Oriented programming in C++. We will learn about C++ classes, objects, look at how they work and how to implement them in our C++ program.C++ ClassesA class is a user-defined data type, which holds its own data members and 9 min read C++ Interview Questions and Answers (2025) C++ - the must-known and all-time favourite programming language of coders. It is still relevant as it was in the mid-80s. As a general-purpose and object-oriented programming language is extensively employed mostly every time during coding. As a result, some job roles demand individuals be fluent i 15+ min read C++ Polymorphism The word polymorphism means having many forms. A real-life example of polymorphism is a person who at the same time can have different characteristics. A man at the same time is a father, a husband, and an employee. So, the same person exhibits different behaviour in different situations. This is ca 5 min read Like