2

指紋認識プロジェクトに取り組んでいますが、画像を前処理する必要があります。以下のプロセスを踏んでいます。

1) 二値化

2) 「階段」効果を除去するためのフィルタリング。つまり、平滑化

3) 線を細くする

間伐後に残った穴を埋めるために開発しようとしているステップを追加しています. 私はこれを次のように達成しようとしています。

4a)bwlabel領域を見つけるために使用します (単に「ブロブ」を残すために使用することを検討するかもしれませんbwmorp(...,'shrink')が、これを行うとブロブのサイズが少し小さくなります)。

4b) 最大面積を持たないすべての領域を見つける

4c) これらの領域の位置を使用して、これらの「ブロブ」をポイントに縮小します。

しかし、指定した場所に縮小を適用するにはどうすればよいでしょうか?

二値化

二値化

フィルタリング

フィルタリングされた

間伐

間伐

穴埋め

穴を埋める

4

2 に答える 2

0

ポイントに縮小したい領域がある場合は、その領域の重心を計算します。これは、ブロブ内の各点の x 座標と y 座標を平均するだけです。領域のピクセルを黒に、質量の中心を白に設定します。

私が抱えている問題は、塗りつぶされた領域の浸食を避けながら、塗りつぶされた領域を残すように尾根をトリミングすることです (浸食を使用すると、尾根は消えますが、領域のサイズも小さくなります)。

小さな領域の侵食について心配する必要はありません。重心への影響はほとんどなく、ポイントは適切な場所に移動することになります。

于 2013-04-27T03:52:26.053 に答える
0

質問を正しく理解できたかどうかわかりません。しかし、細線化された画像を補完してから使用できますかbwlabel。その後、各ラベルに属するピクセルの数を数えます。条件を適用してラベルを選択し、その場所を取得します。その後、imfill(bw,locations)コマンドを使用できます。

于 2013-04-26T07:08:18.197 に答える