python - PIL Image 无法使用 skimage.io 打开转换后的图像
问题描述
我对保存在 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 读取它们以用于后面的目的)
解决方案
推荐阅读
- nginx - Odoo 12:使用 Nginx 破坏链接重定向
- c# - 添加列表
到 DataGridView 行 - apache-spark - Livy REST API 调用如何工作?
- sql - 与 SQL Server 中的 CTE 合并
- ionic-framework - ionic-swing 库不适用于移动设备
- rxdb - Rxdb 插件:在插件中使用 RxCollectionBase#insert 方法
- java - Android实现两个位置之间的距离,Place类
- javascript - 如何删除此链接上的 javascript 事件处理程序并将其转换为常规链接?
- c - 是否有一种符合 ISO C 标准的方法来制作一个返回指向嵌套在里面的函数的指针的函数?
- php - 禁用鼠标中键单击和右键单击链接 wordpress