PIL图像不能用撇取打开变换后的图像

2024-09-30 01:30:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我对保存在PFM文件中的浮点数组执行了剪切和水平翻转转换,然后通过以下代码将它们保存为tif文件:

import os
from scipy import ndarray

  # image processing library
import skimage as sk
from skimage.transform import warp
from skimage import util
from skimage import io
import numpy as np

def shear(image_array: ndarray, shear=10):
    tf_augment = sk.transform.AffineTransform(shear=np.deg2rad(shear))
    return  warp(image_array, tf_augment, order=1, preserve_range=True, 
    mode='edge')

def horizontal_flip(image_array: ndarray):
    return image_array[:, ::-1]

image_path='./train/0006.pfm'
image_to_transform, scale=readPFM(image_path)   

flipped_image1=horizontal_flip(image_to_transform)
io.imsave("flipped_image1.tif", flipped_image1)

sheared_image1 =shear(image_to_transform,5)
io.imsave("sheared_image1.tif", sheared_image1)

但是,当我尝试用PIL框架打开这些图像时,它可以处理翻转的图像,但不能处理剪切的图像:

from PIL import Image
Image.open("sheared_image1.tif")

我搞错了

 OSError: cannot identify image file 'sheared_image1.tif'

有人能给我解释一下原因吗,或者如何通过skipage框架保存转换后的图像,以便能够用PIL读取它们(为了后面的目的,我必须用PIL读取它们)


Tags: tofromio图像imageimportpiltransform

热门问题