Python skimage.transform.rotate:保存时获得完全黑色的图像

Python skimage.transform.rotate:保存时获得完全黑色的图像,python,rotation,scikit-image,Python,Rotation,Scikit Image,我正在使用Python3.6并对图像执行以下功能(读取图像、填充图像、裁剪图像、旋转图像)。我使用的是skimage或基本python函数。如果不旋转图像,则没有警告。但是如果我旋转图像,我会得到以下警告 /anaconda3/lib/python3.6/site packages/skimage/util/dtype.py:122: UserWarning:从int64转换为时可能会丢失精度 float64.格式(dtypeobj_输入,dtypeobj_输出)) 当我尝试使用imshow查看

我正在使用Python3.6并对图像执行以下功能(读取图像、填充图像、裁剪图像、旋转图像)。我使用的是skimage或基本python函数。如果不旋转图像,则没有警告。但是如果我旋转图像,我会得到以下警告

/anaconda3/lib/python3.6/site packages/skimage/util/dtype.py:122: UserWarning:从int64转换为时可能会丢失精度 float64.格式(dtypeobj_输入,dtypeobj_输出))

当我尝试使用imshow查看图像时,图像值似乎在(1e-17)()的范围内。我猜图像值在某个地方被标准化了,但我找不到位置

如果我试图保存旋转的图像,我会得到一个完全黑色的图像

im = img_as_uint(image)
imsave(image_path, im, plugin='imageio')
我试着删除img_as_uint,使用默认的imsave,使用(freeimage,imagio)作为插件选项

/anaconda3/lib/python3.6/site packages/skimage/util/dtype.py:122: UserWarning:从int64转换为时可能会丢失精度 float64.格式(dtypeobj_输入,dtypeobj_输出))

/anaconda3/lib/python3.6/site packages/skimage/util/dtype.py:122: UserWarning:从float64转换为时可能会丢失精度 uint16.格式(dtypeobj\u输入,dtypeobj\u输出))

/anaconda3/lib/python3.6/site packages/skimage/io/_io.py:132: 用户警告:/Users/ashisharora/google_Drive/madcat_arabic/lines/AAW_ARB_20061105.0017-S1_1_LDC0372_00z1.png是低对比度图像警告(“%s”是低对比度图像“%fname”)


我尝试了在堆栈溢出上发布的解决方案,但它对我的案例不起作用。如果有人能提供帮助,我将不胜感激。

默认情况下,skimage rotate函数将转换为float并在0和1之间缩放图像值。(见附件)

尝试使用preserve_range参数和一些类型转换,例如

img_rot = skimage.transform.rotate(img, rot_angle, preserve_range=True).astype(np.uint8)

花点时间阅读帮助中心中的。堆栈溢出上的格式设置与其他站点不同。你的帖子越好看,别人就越容易阅读和理解。
img_rot = skimage.transform.rotate(img, rot_angle, preserve_range=True).astype(np.uint8)