Python 为什么裁剪后的图像颜色更深?

Python 为什么裁剪后的图像颜色更深?,python,crop,Python,Crop,我在试着测试我的模型,看一些病理图像。我需要将它们裁剪成小块。 这是我的裁剪代码 def crop_to_four_with_cropSize(image, crop_sz=None): if crop_sz == None: crop_sz = image.shape[0] // 2 img_sz = image.shape[0] y = 0 x = 0 h = crop_sz w = crop_sz image_crop

我在试着测试我的模型,看一些病理图像。我需要将它们裁剪成小块。
这是我的裁剪代码

def crop_to_four_with_cropSize(image, crop_sz=None):
    if crop_sz == None:
        crop_sz = image.shape[0] // 2
    img_sz = image.shape[0]
    y = 0
    x = 0
    h = crop_sz
    w = crop_sz
    image_crop_1 = image[y:y + h, x:x + w, :]
    image_crop_2 = image[-h:, x:x + w, :]
    image_crop_3 = image[y:y + h, -w:, :]
    image_crop_4 = image[-h:, -w:, :]
    return (image_crop_1, image_crop_2, image_crop_3, image_crop_4)
下面是我用来保存的方法

def save_to_file(image, name, path='./'):
    if not os.path.exists(path):
        os.makedirs(path)
    full_name = os.path.join(path, name)
    scipy.misc.toimage(image).save(full_name)

我的模型对颜色很敏感,但我不知道为什么一个数字矩阵的亮度不同


非常感谢您的指导。

这里的罪魁祸首是
scipy.misc.toimage
函数。根据中的警告,此函数用于缩放数组值以使用字节的完整范围,即从0到255。这就是为什么裁剪图像中的颜色具有更好的对比度


如果
image
变量是类似数组的对象(
numpy
array等),则不使用
scipy.misc.toimage
后跟
save
,您可以使用其他方法将图像保存到磁盘,如SciPy或OpenCV的函数。

这里的罪魁祸首是
SciPy.misc.toimage
函数。根据中的警告,此函数用于缩放数组值以使用字节的完整范围,即从0到255。这就是为什么裁剪图像中的颜色具有更好的对比度


如果
image
变量是类似数组的对象(
numpy
array等),那么您可以使用其他方法将图像保存到磁盘,而不是使用
scipy.misc.toimage
,然后再使用
save
,例如scipy或OpenCV函数。

谢谢,我的朋友。scipy.misc.imsave不起作用(与问题中的条件相同),但OpenCV中的imwrite运行良好。谢谢,我的朋友。scipy.misc.imsave不起作用(与问题中的条件相同),但OpenCV中的imwrite运行良好。