It seems the imresize
implemented in PIL
/scipy.misc
only works for uint8 images
>>> import scipy.misc
>>>
Thanks to cgohlke's comment. Below are two alternatives I found that works for float-number images.
For single-channel images: im2 = scipy.ndimage.interpolation.zoom(im, 0.5)
For 3-channel images: im2 = scipy.ndimage.interpolation.zoom(im, (0.5, 0.5, 1.0))
im2 = cv2.resize(im, (im.shape[1]/2, im.shape[0]/2))
This works for both single-channel and 3-channel images. Note that one needs to revert the shape order in second parameter.
you could also use the mode='F' option in the imresize function
imresize(image, factor, mode='F')