我从下面的链接下载了一个btf文件(大tiff),我怎么读它并“imshow”呢?有没有办法将它转换为tiff格式,因为btf不常见?
链接:
https://drive.google.com/file/d/0ByhuP_NuuARtSW9aeTdPUTlRdWM/view?usp=drive_web
http://www.photomacrography.net/forum/viewtopic.php?t=28990&sid=cca737a2e0bc7ea3e2e41f0d6e75f5a9
我用过这段代码:
t = Tiff('d:/Image_687.btf','w8');
imageData = read(t);
并得到此错误:
使用tifflib时出错无法检索PhotometricInterpretation . Tiff / getTag中的错误(第838行)tagValue = tifflib('getField',obj.FileID,Tiff.TagID . (tagId)); Tiff / read中的错误(第1487行)photo = obj.getTag('Photometric'); Untitled2中的错误(第2行)imageData = read(t);
1 回答
您的代码的真正问题是您传递给
Tiff
的第二个参数 . 当documentation状态时,第二个参数指示打开文件的模式 . 您已指定w8
,其中文档说明:这意味着它甚至在您开始之前删除了您的图像!如果要使用
Tiff
类,则需要不使用第二个参数或r
参数来打开文件进行读取 .话虽这么说,一般来说最好尝试用更高级别的函数加载它,例如imread . Tiff类是一个低级功能,可能有点难以操作,但可能提供一些所需的专业功能 .
我不得不做一些显示操作,因为RGB值不在0到255之间