Python转换从PIL对象中的16位RGB Tiff导入的numpy.array

时间:2015-07-23 06:54:05

标签: python numpy type-conversion pillow scikit-image

我有一个16位RGB tiff图像,我希望在PIL中读取以应用过滤器BLUR和SHARPEN,但是当我运行功能读取图像时,我收到错误消息 IOError:无法识别图片文件' C:\ cdraw \ test16bit.tiff'

parametres<-ddply(tab,.(sp),function(esp){
+     summarise(esp,
+               Altmin=min(Alt),
+               Altmax=max(Alt),
+               Altmoy=mean(Alt),
+   )})

我能够使用s cikit-image导入RGB 16位TIFF图像:Python中的图像处理但我无法在PIL对象中转换numpy.array,如果这是可能的

from PIL import Image

myfile = 'C:\\cdraw\\test16bit.tiff'
myimage = Image.open(myfile)

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Python27\lib\site-packages\PIL\Image.py", line 2330, in open
    % (filename if filename else fp))
IOError: cannot identify image file 'C:\\cdraw\\test16bit.tiff'

1 个答案:

答案 0 :(得分:0)

似乎是PIL和16位tiff的一些问题。 但是,您似乎想要一些非常经典的过滤器,您可以在其他库中找到它们。 你可以做的是用skimage(或matplotlib)导入并用skimage或scipy处理你的图像。

你可以在这里找到很多关于scipy图像处理的文档:http://scipy-lectures.github.io/advanced/image_processing/#blurring-smoothing

和skimage:http://scikit-image.org/docs/dev/auto_examples/applications/plot_rank_filters.html