Q:

Cropping an Image using OpenCV in Python

belongs to collection: Python miscellaneous programs

0

What is Cropping?

Cropping is the removal of unwanted outer areas from a photographic or illustrated image. The process usually consists of the removal of some of the peripheral areas of an image to remove extraneous trash from the picture, to improve its framing, to change the aspect ratio, or to accentuate or isolate the subject matter from its background.

We will be using these functions of OpenCV - python(cv2),

  1. imread(): This function is like it takes an absolute path of the file and reads the whole image, and after reading the whole image it returns us the image and we will store that image in a variable.
  2. imshow(): This function will be displaying a window (with a specified window name) which contains the image that is read by the imread() function.
  3. shape: This function will return the heightwidth, and layer of the image

Let’s take an example,

Let there be a list a=[1,2,3,4,5,6,7,8,9]

Now, here I just wanted the elements between 4 and 8
(including 4 and 8) so what we will do is :

print(a[3:8])
The result will be like : [4,5,6,7,8]

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Python program to crop an image

# importing the module
import cv2

img=cv2.imread("/home/abhinav/PycharmProjects/untitled1/a.jpg")

# Reading the image with the help of
# (specified the absolute path)
# imread() function and storing it in the variable img
cv2.imshow("Original Image",img)

# Displaying the Original Image Window 
# named original image
# with the help of imshow() function
height,width=img.shape[:2]

# storing height and width with the help
# of shape function as shape return us
# three things(height,width,layer) in the form of list
# but we wanted only height and width
start_row,start_col=int(width*0.25),int(height*0.25)
end_row,end_col=int(width*0.75),int(height*0.75)

# start_row and start_col are the cordinates 
# from where we will start cropping
# end_row and end_col is the end coordinates 
# where we stop
cropped=img[start_row:end_row,start_col:end_col]

# using the idexing method cropping 
# the image in this way
cv2.imshow("Cropped_Image",cropped)
# using the imshow() function displaying 
# another window of
# the cropped picture as cropped contains 
# the part of image
cv2.waitKey(0)
cv2.destroyAllWindows()

Output:

Python | cropping an image

You can see the Cropped Image and the Original Image(the cropping is done like 0.25 to 0.75 with row and with column 0.25 to 0.75, and you can change the number).

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Python miscellaneous programs

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Converting an OpenCV Image to Black and White in P... >>
<< Edge Detection of Image using OpenCV (CV2) in Pyth...