4

ここに画像の説明を入力してくださいこんにちは皆さん、

写真から酵母の平均コロニーサイズを決定するプログラムに取り組んでおり、テストした.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を使用してそれらを変換しようとしましたが、これにより真っ白な画像になりました。データには実際には16-が含まれていないため、コマンド「-auto-levels」を使用する必要があることを読みました。ビット範囲。

皆様のご協力に心より感謝申し上げますとともに、知識不足をお詫び申し上げます。

PS:プログラマー以外の人がPythonプログラムを簡単にインストールできるようにするためのヒントはありますか?たとえば、Pythonとpygameにバンドルして、インストールを1回だけにする方法はありますか?これはWindowsとMacの両方で実行できますか?ありがとうございました。

編集:GIMPで開こうとしましたが、3つのエラーが発生しました:

1)フィールド「DateTime」のカウントが正しくありません(27、20を期待)。タグがトリミングされました2)申し訳ありませんが、12ビットサンプルの画像を処理できません3)サポートされていないレイアウト、RGBAローダーがありません

これはどういう意味ですか、どのように適合させますか?

4

3 に答える 3

2

純粋なPythonTIFFリーダーを備えたpylibtiffを見てみましょう。

バンドルの場合、最善の策はおそらくpy2exeとpy2appです。

于 2011-04-24T12:33:35.237 に答える
2

py2exeは、Windowsシステムを使用している場合に、アプリケーションをパッケージ化するための方法です。

16ビットtiffの問題について:

この例http://ubuntuforums.org/showthread.php?t=1483265は、PILを使用して表示用に変換する方法を示しています。

ここで、質問されていない部分について説明します。画像分析を行うときは、画像操作で可能な限り高いダイナミックレンジを維持する必要があります。そうすることで、失われる情報が少なくなります。ご存知かもしれませんが、PILには多くのフィルター/変換が用意されており、画像のコントラストを高めたり、光のレベルを均一にしたり、エッジ検出を実行したりできます。検討したい将来の方向性は、エッジ検出のために処理されたスケーリングされた画像と一緒に元の画像(もちろん8ビットにスケーリングされた)を表示することです。

その他の例とサンプルコードについては、http://code.google.com/p/pyimp/wiki/screenshotsを確認してください。

于 2011-04-24T14:39:38.550 に答える
1

これは実際には2つの部分からなる質問です。

1)Python用の16ビット画像データマングリング-私は通常、GDAL+Numpyを使用します。これは要件に対して少し多すぎる可能性があります。代わりにPIL+Numpyを使用できます。

2)リリースエンジニアリングPythonアプリは乱雑になる可能性があります。アプリの複雑さに応じて、 py2debpy2apppy2exeを使用することができます。distutilsを学ぶことも役に立ちます。

于 2011-04-24T12:40:53.513 に答える