作者:BigUncle | 来源:互联网 | 2023-06-06 23:24
大家好,我正在开发一个程序,它可以确定照片中酵母的平均菌落大小,并且它在我测试过的.bmp图像上运行正常.该程序使用pygame,稍后可能会使用PIL.但是,我们实验室中使用的相机/软件组合只能保存1
大家好,
我正在开发一个程序,它可以确定照片中酵母的平均菌落大小,并且它在我测试过的.bmp图像上运行正常.该程序使用pygame,稍后可能会使用PIL.
但是,我们实验室中使用的相机/软件组合只能保存16位灰度tiff,而pygame似乎无法识别16位tiff,只有8位.我一直在阅读最近几个小时的简单方法,但即使是Python Imaging Library似乎也无法使用16位.tiff,我已经尝试了,我得到了“IOError:无法识别图像文件”.
import Image
img = Image.open("01 WT mm.tif")
我的最终目标是让这个程序用户友好且易于安装,所以我试图避免添加额外的模块或要求人们安装ImageMagick或其他东西.
有没有人知道使用免费软件或纯python这个问题的简单解决方法?我不太了解图像:深度操作超出了我的范围.但我相当确定我不需要全部16位,而且可能只有大约8位实际上有真正的数据.事实上,我曾经使用ImageMagick尝试转换它们,这导致了一个全白的图像:我已经读过我应该使用命令“-auto-levels”,因为数据实际上并不包含16-位范围.
我非常感谢你的帮助,并为我缺乏知识而道歉.
P.S.:有没有人有关于如何让我的Python程序易于非程序员安装的任何提示?有没有办法,例如,以某种方式将它与Python和pygame捆绑在一起,所以它只有一个安装?这可以在Windows和Mac上完成吗?谢谢.
编辑:我试图在GIMP中打开它,并得到3个错误:
1)字段“DateTime”的计数不正确(27,期望20);标签修剪
2)抱歉,无法处理12位样本的图像
3)不支持的布局,没有RGBA加载器
这是什么意思,我该如何适应它?
解决方法:
如果你在Windows系统上,py2exe是打包应用程序的方法.
关于16位tiff问题:
此示例http://ubuntuforums.org/showthread.php?t=1483265显示了如何使用PIL转换显示.
现在来看未解决的部分问题:在进行图像分析时,您希望在图像处理中尽可能长时间地保持最高动态范围 – 这样就会丢失更少的信息.您可能或可能不知道,PIL为您提供了许多滤镜/变换,可以增强图像的对比度,甚至可以提高光照水平,或执行边缘检测.您可能要考虑的未来方向是显示原始图像(当然缩放到8位)和已经处理以进行边缘检测的缩放图像.
查看http://code.google.com/p/pyimp/wiki/screenshots以获取更多示例和示例代码.