2017-10-28 4 views
0

ブロブインデックスを見つけて、連続画像でマスクする必要があります。 誰が私を助けることができますか? ブロブのインデックスをどのように表示するのか教えてください。 私はblob_analyzerを使って画像を分析します。 乾杯 Mahtabblobsインデックスとそれを連続画像でマスクする

答えて

0

より多くの情報を持っていると便利だろうが、私はあなたがコヨーテIDLライブラリからblob_analyzerを使用していると仮定しています。あなたは、また

n_blobs = blobs -> NumberOfBlobs()

blobs = obj_new('blob_analyzer', image)

あなたはNumberOfBlobsメソッドを使用して、多くの塊が同定された方法を見つけることができます。

だから、あなたはあなたのイメージからブロブオブジェクトを作りますReportStatsメソッドを使用してすべてのブロブに関する要約情報を取得できます。

blobs -> ReportStats

GetIndices方法使用し、i番目のブロブのためのインデックスを取得するには:

indices = blobs -> GetIndices(i)

これはあなたの指標の1次元ベクトルを与える必要があり、あなたがARRAY_INDICESを使用して、2Dインデックスに変換することができます、 お望みならば。それは次のようになります。

indices_2D = array_indices(image, indices)

を画像でブロブをマスクするために、あなたは、単に行うことができます、もちろん、唯一のi番目のブロブ内のピクセルをマスクする

new_image = image ;Make a copy of the original image 
new_image[indices] = 0 ;Set all the pixels in the blob to 0 

、すべてのブロブに対して上記のプロセスを繰り返すループを作成するだけで済みます。

new_image = image ;Make a copy of the original image 
;Loop through and mask blobs 
for i = 0, n_blobs - 1 do begin 

    indices = blobs -> GetIndices(i) ;Get indices for the ith blob 
    new_image[indices] = 0   ;Mask those pixels 

endfor 
関連する問題