Resizing an Image Using OpenCV | python

It also helps in enlarging images. In many cases, we need to resize the image, i.e. Either skew it or enlarge it to fit the size requirements. OpenCV provides us with several interpolation methods for resizing an image.

Choosing an interpolation method for resizing —

  • cv2. INTER_AREA : This is used when we need to shrink the image.
  • cv2.INTER_CUBIC : This is slower but more efficient.
  • cv2.INTER_LINEAR : This is mainly used when enlargement is required. This is the default interpolation method in OenCV.

Below is the code to resize.

import cv2

import numpy as np

import matplotlib.pyplot as plt % matplotlib qt

# For display in an external window

 

image = cv2.imread ( " C: //gfg//tomatoes.jpg " , 1 )

# Upload image

  

half = cv2 .resize (image, ( 0 , 0 ), fx = 0.1 , fy = 0.1 )

bigger = cv2.resize (image, ( 1050 , 1610 ))

 

stretch_near = cv2.resize (image, ( 780 , 540 ), 

  interpolation = cv2.INTER_NEAREST) ​​

 

 

Titles = [ "Original" , "Half" , " Bigger " , " Interpolation Nearest " ]

images = [image, half, bigger, stretch_near]

count = 4

 

for i in range (count):

  plt.subplot ( 2 , 2 , i + 1 )

plt.title (Titles [i])

plt.imshow (images [i])

 
plt.show ()

Output:

Note. When using cv2.resize () that the tuple passed to determine the size of the new image (in this case (1050, 1610)) follows the order (width, height ) in excellent from the expected. (height width).