Я выполнил преобразования сдвига и горизонтального смещения для массива с плавающей запятой, сохраненного в файле 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 framework, он работает с перевернутым изображением, но не со сдвинутым:
from PIL import Image
Image.open("sheared_image1.tif")
Я получил ошибку
OSError: cannot identify image file 'sheared_image1.tif'
Может ли кто-нибудь объяснить мне причину или как сохранить мои преобразованные изображения с помощью фреймворка Skimage, чтобы иметь возможность читать их с помощью PIL (я должен читать их с помощью PIL для последних целей)