アプリ版:「スタンプのみでお礼する」機能のリリースについて

画像のエッジ抽出について


画像処理を学び始めたばかりのものです。

細菌や細胞などのエッジを、
C言語を使って抽出しようと思っているのですが
・Sobelフィルタ
・FFTによる低周波カット
・ラプラシアンフィルタなど
の代表的なフィルターを組み合わせて使っても、綺麗にエッジが出ません。
二値化してエッジになるのには遠い状態です。


自分の撮った画像が悪かったのか・・と思いましたが、
フリーソフトのimageJで、エッジ抽出という処理をすると
綺麗に最近の形状が出ます。

これはどのようなアルゴリズムを使っているのでしょうか・・・
教科書やネットを調べていても、上の3つ以外にフィルタがなさそうなので
途方に暮れています。。

お恥ずかしいですが、よろしくお願いいたします。。

A 回答 (2件)

「ImageJ」のHPから、Introductionページの記述を見ると、


その末尾に以下の文章があります。

The source code is freely available. The author, Wayne Rasband (wayne@codon.nih.gov), is at the Research Services Branch, National Institute of Mental Health, Bethesda, Maryland, USA

ソースコードが公開されているようなので、
メールで問い合わせてみられれば如何でしょうか。

著者は公的な研究機関に所属しているようであるので、
質問者さんの身分等を明記して問い合わせて見れば何らかの入手可能かと思います。
    • good
    • 0

問い合わせなくとも


http://rsbweb.nih.gov/ij/download.html
のsource codeから入手可能です。

また、ユーザーマニュアルには
> 32.3Find Edges
> Uses a Sobel edge detector to highlight sharp changes in intensity in the active image or selection.
> Two 3×3 convolution kernels (shown below) are used to generate vertical and horizontal derivatives.
> The final image is produced by combining the two derivatives using the square root of the sum of the squares.

とあります。
この最後の「the square root of the sum of the squares」が違いではないでしょうか。

あと、エッジの2値化にはキャニー法というのもあります。
    • good
    • 0

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