Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Crop Image with OpenCV-Python

  • Last Updated : 10 Oct, 2021

Cropping an Image is one of the most basic image operations that we perform in our projects. In this article, w will discuss how to crop images using OpenCV in Python.

Stepwise Implementation

For this, we will take the image shown below. 

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course



Step 1: Read the image

cv2.imread() method loads an image from the specified file. If the image cannot be read (because of the missing file, improper permissions, unsupported or invalid format) then this method returns an empty matrix.

Note: When we load an image in OpenCV using cv2.imread(), we store it as a Numpy n-dimensional array.

Example: Python program to read the image

Python3




import cv2
  
# Read Input Image
img = cv2.imread("test.jpeg")
  
# Check the type of read image
print(type(img))
  
# Display the image
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Output

Step 2: Get the image Dimensions

We can see the type of ‘img‘ as ‘numpy.ndarray‘. Now, we simply apply array slicing to our NumPy array and produce our cropped image, So we have to find the dimensions of the image. For this we will use the image.shape attribute.

Syntax:



image.shape

where image is the input image

Example: Python code to find the dimensions of the image,

Python3




import cv2
  
# read the image
img = cv2.imread("test.jpeg")
print(type(img))
  
# Check the shape of the input image
print("Shape of the image", img.shape)

Output

image shape

Step 3: Slice the image

Now we can apply array slicing to produce our final result.

Syntax :

image[rows,columns]

where

  1. rows are the row slice
  2. columns is the column slice

Example:

Python3




import cv2
  
img = cv2.imread("test.jpeg")
print(type(img))
  
# Shape of the image
print("Shape of the image", img.shape)
  
# [rows, columns]
crop = img[50:180, 100:300]  
  
cv2.imshow('original', img)
cv2.imshow('cropped', crop)
cv2.waitKey(0)
cv2.destroyAllWindows()

Output




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!