gpt4 book ai didi

python - PIL/scipy.misc 中的 imresize 仅适用于 uint8 图像?有什么选择吗?

转载 作者:太空狗 更新时间:2023-10-30 00:29:46 25 4
gpt4 key购买 nike

PIL/scipy.misc 中实现的imresize 似乎只适用于 uint8 图像

>>> import scipy.misc
>>> im = np.random.rand(100,200)
>>> print im.dtype
float64

>>> im2 = scipy.misc.imresize(im, 0.5)
>>> print im2.dtype
uint8

有什么办法解决这个问题吗?我想处理 HDR 图像,因此需要处理 float64float32 图像。谢谢。

最佳答案

感谢 cgohlke 的评论。以下是我发现适用于 float 图像的两个替代方法。

  1. 使用scipy.ndimage.interpolation.zoom

对于单 channel 图像:im2 = scipy.ndimage.interpolation.zoom(im, 0.5)

对于 3 channel 图像:im2 = scipy.ndimage.interpolation.zoom(im, (0.5, 0.5, 1.0))

  1. 使用 OpenCV。

im2 = cv2.resize(im, (im.shape[1]/2, im.shape[0]/2))

这适用于单 channel 和 3 channel 图像。请注意,需要在第二个参数中恢复形状顺序。

关于python - PIL/scipy.misc 中的 imresize 仅适用于 uint8 图像?有什么选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26793582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com