How to Crop an Image with OpenCV

A step by step tutorial for cropping an image with OpenCV

Updated March 19, 2023


Hey! If you love Computer Vision and OpenCV as much as I do let's connect on Twitter or LinkedIn. I talk about this stuff all the time and build cool projects.


Welcome to the exciting world of OpenCV and computer vision! Today, we’re going to be exploring one of the most fundamental image processing techniques: cropping. Cropping is the process of removing parts of an image to focus on a specific area or to remove unwanted parts. In this tutorial, we’re going to show you how to crop images using OpenCV.

Before we dive into the code, let’s take a moment to understand what cropping is and why it’s useful.

What is Cropping an Image?

Cropping is the process of removing parts of an image to focus on a specific area or to remove unwanted parts. This can be useful for a number of different image processing tasks, such as removing the background from an image, focusing on a specific object, or removing distracting elements from an image.

Cropping an image in OpenCV is a simple process that involves specifying the region of the image that you want to keep. This region is defined by a rectangle, and you can specify the coordinates of the top-left corner and the bottom-right corner of the rectangle to define the region you want to keep.

Now that we have a basic understanding of cropping, let’s see how we can do it in OpenCV.

The first step is to load an image into OpenCV. You can do this using the imread() function, like this:

import cv2
# Load an image
img = cv2.imread('image.jpg')

Next, we’re going to crop the image. To do this, we’ll use the slicing operator, like this:

# Crop the image
cropped = img[100:400, 200:500]

In this example, the slicing operator is used to extract the region of the image defined by the rectangle with the top-left corner at (100, 200) and the bottom-right corner at (400, 500). The slicing operator works by specifying the rows and columns that you want to keep, and it returns a new image that contains only the specified region.

Let’s take a look at another example, this time cropping a different part of the image. Here’s the code:

# Crop a different part of the image
cropped = img[50:250, 300:600]

In this example, we’re using the slicing operator to extract the region of the image defined by the rectangle with the top-left corner at (50, 300) and the bottom-right corner at (250, 600).

In conclusion, cropping is a simple but powerful technique that can be used to focus on a specific area of an image or to remove unwanted parts. Whether you’re working with color images or black and white images, understanding how to crop images in OpenCV will help you develop more effective computer vision applications. So go ahead and start exploring the world of OpenCV and computer vision today!


Stay up to date on the latest in Computer Vision and AI

Intuit Mailchimp