===解決済み===
ご提案とコメントをありがとうございます。Beginning Python Visualization book (第 9 章 - 画像処理) に記載されている flood_fill アルゴリズムに取り組むことで、私が望んでいたものを実装しました。オブジェクトを数え、各オブジェクトを囲む四角形を取得し (したがって、高さと幅)、最後にそれぞれの NumPy 配列または行列を作成できます。
最適化されたアプローチではありませんが、私が望むことはできます。私が使用するソース コード (lab2.py) と png ファイル (lab2-particles.png) は、http: //code.google.com/p/ccnworks/source/browse/#svn/trunk/AtSc450 に配置されています。 .
ヒストグラムを表示するには、NumPy と PIL がインストールされており、matplotlib が必要です。コードのコアは、主な再帰的なオブジェクト検索アクションが発生する objfind 関数内にあります。
もう1つの更新:
SciPy のndimage.label()も、私が望んでいることを正確に実行します。
NumPy および SciPy メーリングリストのDavid-Warde FarleyとZachary Pincusに乾杯、これを私の目に向けてください :)
=============
こんにちは、
粒子分光計で測定された氷の粒子の影を含む画像があります。後で分類して計算でさらに使用できるように、各オブジェクトを識別できるようにしたいと考えています。
本質的に、私がやりたいことは、各エンティティを簡単に選択できるファジー選択ツールを実装することです。
どうすればこの問題を簡単に解決できますか? (できればPythonを使用してください)
ありがとう。
注: 私の質問では、特定の接続された各ピクセルをオブジェクトまたはエンティティと呼んでいます。以下に示すように、それらを抽出して NumPy 配列表現を作成するという私の意図。(ここでは左上のオブジェクトを使用しています。ピクセルが存在する場合は 1 を使用し、存在しない場合は 0 を使用します。このオブジェクトの形状は 3 x 3 で、対応して高さ 3 ピクセル、幅 3 ピクセルです。これらは、2D ドメインへの実際の氷粒子の投影です。 、それらが球状であり、同等の半径が (高さ + 幅)/2 であるという仮定の下で、後でいくつかのスケーリング -- ピクセルから実際のサイズまで、および体積の計算が続きます)
import numpy as np
np.array([[1,1,1], [1,1,1], [0,0,1]])
array([[1, 1, 1],
[1, 1, 1],
[0, 0, 1]])
これは、使用する画像の一部です。
スクリーンショット http://img43.imageshack.us/img43/2327/particles.png