gpt4 book ai didi

Python:在 PIL 和/或 pygame 中操作 16 位 .tiff 图像:以某种方式转换为 8 位?

转载 作者:太空狗 更新时间:2023-10-30 02:49:57 26 4
gpt4 key购买 nike

enter image description here大家好,

我正在开发一个程序,它可以根据照片确定酵母菌的平均菌落大小,并且它在我测试过的 .bmp 图像上运行良好。程序使用pygame,以后可能会用到PIL。

但是,我们在实验室中使用的相机/软件组合只能保存 16 位灰度 tiff,而 pygame 似乎无法识别 16 位 tiff,只能识别 8 位。在过去的几个小时里,我一直在阅读有关解决此问题的简单方法,但即使是 Python 图像库似乎也无法使用 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 为您提供了许多滤镜/变换,可让您增强图像的对比度、均匀光照水平或执行边缘检测。您可能要考虑的 future 方向是在经过边缘检测处理的缩放图像旁边显示原始图像(当然缩放到 8 位)。

查看 http://code.google.com/p/pyimp/wiki/screenshots有关更多示例和示例代码。

关于Python:在 PIL 和/或 pygame 中操作 16 位 .tiff 图像:以某种方式转换为 8 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5768714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com