Python 图像大小调整会更改颜色和纹理
我把一幅大的图像分割成更小的重叠块,这是背景的一部分 我正在将图像加载到numpy中,尝试将其缩小到100x100x3,然后使用以下代码保存图像:Python 图像大小调整会更改颜色和纹理,python,numpy,scipy,scikit-image,Python,Numpy,Scipy,Scikit Image,我把一幅大的图像分割成更小的重叠块,这是背景的一部分 我正在将图像加载到numpy中,尝试将其缩小到100x100x3,然后使用以下代码保存图像: import numpy as np from scipy import misc import skimage.transform from matplotlib.image import imread im = imread(originalPath) arr = np.array(im) resized = skimage.transform
import numpy as np
from scipy import misc
import skimage.transform
from matplotlib.image import imread
im = imread(originalPath)
arr = np.array(im)
resized = skimage.transform.resize(arr,(100,100,3))
misc.imsave("resized.tif", resized)
保存的图像大小正确,但
我还尝试过其他重新缩放的方法,包括
skimage.transform.downscale_local_mean(arr, (5,5,1))
skimage.measure.block_reduce(arr, block_size=(5,5,1), func=np.mean)
它们都产生了同一个紫色正方形的稍微不同的版本
我有一个主要问题和一个次要问题:
我建议使用
skimage.io
;它的imsave
做了正确的事情。如果愿意,您也可以直接使用imageio
库。是否确定大小调整是问题所在?也就是说,如果保存原始图像,arr
不调整大小会发生什么情况?arr
能够保存原始图像而不会出现问题skimage.io.imsave
在重新加载到numpy时使用正确的颜色和数组值保存图像,但保存的文件已损坏,只能在Photoshop中查看。我建议使用skimage.io
;它的imsave
做了正确的事情。如果愿意,您也可以直接使用imageio
库。是否确定大小调整是问题所在?也就是说,如果保存原始图像,arr
不调整大小会发生什么情况?arr
能够保存原始图像而不会出现问题skimage.io.imsave
在重新加载到numpy时使用正确的颜色和数组值保存图像,但保存的文件已损坏,只能在Photoshop中查看