What is the difference between cv2.resize() and imutils.resize()?
What is the difference between cv2.resize() and imutils.resize()
What is the difference between cv2.resize() and imutils.resize()
imutils.resize()
evaluate width only but not height. Imutils never used height all times. While OpenCV used both width and height or either height or width.
Here is imutils.py:
def resize(image, width = None, height = None, inter = cv2.INTER_AREA):
# initialize the dimensions of the image to be resized and grab the image size
dim = None
(h, w) = image.shape[:2]
# if both the width and height are None, then return the original image
if width is None and height is None:
return image
# check to see if the width is None
if width is None:
# calculate the ratio of the height and construct the dimensions
r = height / float(h)
dim = (int(w * r), height)
# otherwise, the height is None
else:
# calculate the ratio of the width and construct the dimensions
r = width / float(w)
dim = (width, int(h * r))
# resize the image
resized = cv2.resize(image, dim, interpolation = inter)
# return the resized image
return resized
if i understand it correctly, imutils.resize()
only tries to evaluate either the width or height argument, and tries to preserve the original aspect ratio of the image, while cv2.resize()
gives you a free choice (w/o any constraints)
Asked: 2019-02-13 12:35:50 -0600
Seen: 23,855 times
Last updated: Feb 13 '19
Area of a single pixel object in OpenCV
Weird result while finding angle
cv2.perspectiveTransform() with Python
cv2 bindings incompatible with numpy.dstack function?
Getting single frames from video with python
Line detection and timestamps, video, Python
Different behaviour of OpenCV Python arguments in 32 and 64-bit systems