プロが教えるわが家の防犯対策術!

ゼロ交差法でプログラミングをしたのですが、

http://www11.atpages.jp/~matsu4512/flex/Image_Pr …
/*
th : 閾値
scale : 本来は分散。だが任意の値を指定できるようにしている
msize : フィルタの配列の大きさ msize*msizeの大きさ
*/

これらの値を一体どのように設定すればよいのか悩んでいます。
適当に、
double scale=200;
double th=128;
int msize=1;
などと実験しているのですが、一向に、エッジ検出ができません。
使っている画像は、240×320 とやや小さめの画像です。

一般的に、
th : 閾値
scale : 本来は分散。だが任意の値を指定できるようにしている
msize
の値はどのように設定すればよいのでしょうか?

A 回答 (2件)

thはわからないけど、scaleとmsizeはソースを見たところガウシアンフィルタのパラメータですね。



フィルタの一辺がmsizeで、レートの値の分母が(2 * scale)の二乗のような感じです。
ガウシアンフィルタならだいたい
(1) msize = 3 の時、scale = 2
(2) msize = 5 の時、scale = 8
という感じかな。

thは単なるエッジ強度の閾値だから、結果を見ながら適当に調整してください。
    • good
    • 0
この回答へのお礼

こんばんは!
回答ありがとうございました!
その通りにやってみたのですが、どうもうまくいきませんでした。
おそらく、私のプログラム自体に間違いがありそうなので
別途質問するかもしれません。その際何かお気づきの点があればご教授ください

ご回答ありがとうございました!!

お礼日時:2010/04/28 20:41

#1です



(2 * scale)の二乗じゃなくて、scaleの二乗みたいですので、以下のように訂正します。

(1) msize = 3 の時、scale = 4
(2) msize = 5 の時、scale = 16

間違ってたらごめんなさい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!