我对保存在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'
任何人都可以向我解释原因,或者如何通过skimage框架保存转换后的图像,以便能够使用PIL读取它们(出于后期目的,我必须使用PIL读取)