Python 图像大小调整会更改颜色和纹理

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

我把一幅大的图像分割成更小的重叠块,这是背景的一部分

我正在将图像加载到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.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中查看