OpenCV is one of the most popular computer vision libraries. If you want to start your journey in the field of computer vision, then a thorough understanding of the concepts of OpenCV is of paramount importance.
In this article, I will try to introduce the most basic and important concepts of OpenCV in an intuitive manner.
This article will cover the following topics:
- Reading an image
- Extracting the RGB values of a pixel
- Extracting the Region of Interest (ROI)
- Resizing the Image
- Rotating the Image
- Drawing a Rectangle
- Displaying text
This is the original image that we will manipulate throughout the course of this article.
Let’s start with the simple task of reading an image using OpenCV.
Reading an image
Now we will focus on extracting the RGB values of an individual pixel.
Note – OpenCV arranges the channels in BGR order. So the 0th value will correspond to Blue pixel and not Red.
Extracting the RGB values of a pixel
Extracting the Region of Interest (ROI)
Resizing the Image
The problem with this approach is that the aspect ratio of the image is not maintained. So we need to do some extra work in order to maintain a proper aspect ratio.
Rotating the Image
There are a lot of steps involved in rotating an image. So, let me explain each of them in detail.
The 2 main functions used here are –
It takes 3 arguments –
- center – The center coordinates of the image
- Angle – The angle (in degrees) by which the image should be rotated
- Scale – The scaling factor
It returns a 2*3 matrix consisting of values derived from alpha and beta
alpha = scale * cos(angle)
beta = scale * sine(angle)
The function warpAffine transforms the source image using the rotation matrix:
dst(x, y) = src(M11X + M12Y + M13, M21X + M22Y + M23)
Here M is the rotation matrix, described above.
It calculates new x, y co-ordinates of the image and transforms it.
Drawing a Rectangle
It is an in-place operation.
It takes in 5 arguments –
- Top-left corner co-ordinates
- Bottom-right corner co-ordinates
- Color (in BGR format)
- Line width
It is also an in-place operation
It takes in 7 arguments –
- Text to be displayed
- Bottom-left corner co-ordinates, from where the text should start
- Font size
- Color (BGR format)
- Line width
- OpenCV - Overview
- Image Inpainting using OpenCV
- Filter Color with OpenCV
- OpenCV: Segmentation using Thresholding
- Histograms Equalization in OpenCV
- Set up Opencv with anaconda environment
- Python OpenCV | cv2.imwrite() method
- OpenCV | Motion Blur in Python
- Python OpenCV | cv2.line() method
- Template matching using OpenCV in Python
- OpenCV | Hands on Image Contrast
- Color Spaces in OpenCV | Python
- Python OpenCV | cv2.rectangle() method
- Python OpenCV | cv2.circle() method
- Image Resizing using OpenCV | Python
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.