0

の4近隣をチェックしたいとしmatlabます。次のことができると思います(間違っている場合は修正してください)。

I = imread('cameraman.tif');
structured_element = [0,1,0;1,1,1;0,1,0];
o = imdilate(I,structured_element);

今、私は実装しようとしている次のステートメントを持っています(しばらくの間試みてきました):

among all pixels p " that belong to" Supp(F)\Ck
being 4-neighbours of Ck,
select the pixel p that minimizes the distance d(F,Ck"union"{p})
and let Cnew = Ck "union" {p}

私はあなたをいくつかの用語と混同したくありませんが、あなたにそれらの価値を与え、それについて何をすべきかを決めることができます。

Supp(F)の値はここにあります。

Ckにはここに値があります

Fはここに表示されている画像です

これに基づいて、上記の行をどのように実装できますか?

どうもありがとう。

4

1 に答える 1

4

まず、明確にするために、論文「特徴距離最小化による空間ファジー セットの非ファジー化」で説明されている非ファジー化アルゴリズムを使用しています。この用語Ckは、最初は次のように構築されk = 0ています。

Core(f) = {x is a member of a set X | m(x) >= m(y) for all y in X}

ここで、fは離散グレースケール 2D 画像で、はm(x)範囲 のメンバーシップ関数として定義され、 の定義域に属する点のペアによって形成されます。次に、は の点で形成されます。0 が黒であるグレースケール イメージの場合、これは黒以外のすべてが.[0, 1]XfSupp(f)m(x) > 0fSupp(f)

したがって、ここに入力f( も表すSupp(f)) 、Core(f)、およびがありSupp(f)\Core(f)ます。Matlab の用語でCore(f)は、次の式で与えられます。core = f; core(f ~= max(max(f))) = 0;

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

これで、質問の問題を解決できます。最初に: 「... Supp(F)\Ck に属するすべてのピクセル p の中で、Ck の 4 近傍である ...」 は次のように翻訳できます。

allp = imdilate(core, strel('diamond', 1)) - core;
allp_in_f = (allp/255) .* f;

入力がタイプであると仮定しますuint8。2 番目のステートメントは、含まれていないポイントSupp(f)を 0 に設定して破棄しますが、この例ではそのようなポイントはありません。このステップの結果は、次の図に示されています。

ここに画像の説明を入力

ここで: "... 距離 d(F,Ck union {p}) を最小化するピクセル p を選択します ...". この時点でp、メトリックが L 無限大 (チェビシェフ、チェス盤など) であると仮定すると、最後の画像の任意のピクセルがそれを最小化しますが、L-1 ノルムを選択したとしても、対角ピクセルを除くすべてのピクセルがそれを満たします。 . または、別の解釈 (問題で言及されていないため、紙を完全に無視する場合): 距離は の強度を考慮しf、メソッドは加重 (強度) 距離を最小化するものを必要とします。この場合、また将来の反復 (この方法は論文で説明されている反復的なものです) の場合、最も簡単な方法は、表示されている最後の画像で取得された境界からフラッド フィルを実行することです。このフラッディング フィルは、幅優先の方法で行われます。fバックトラックしてp、距離を最小化したピクセルを特定します。この方法は、波面伝搬とも呼ばれます。

于 2013-02-21T00:11:20.977 に答える