2012-03-16 34 views
0

MATLAB(2011)を使用してプロジェクトを作成しています。これにより、グレイスケール画像をフィルタリングすることができます(コンボリューションを使用してエッジを探すことなく)。私は辺に[辺]関数があることを知っていますが、私は、(sobelのような)いくつかの演算子で[fspecial]を使って行列を得ることができることを知っています。MATLABのCanny演算子行列:実装する/取得する方法は? (フィルタのみ、エッジ検出器なし)

私が行列を発見した(または複数の)私が必要とするすべてのオペレータに対応:ソーベルなどロバーツ、ロビンソン、ラプラス、...

それから私は、フィルタをこのように適用されます。

Result_image = conv2(Original_image, matrix_filter); 

しかし、私はCannyオペレーターのための1つを見つけることができません...

私はラニーの演算子を適用から始まるvariusのステップで実装されていることを読んだ?次のステップは何ですか?そして、マトリックスをイメージに適用するにはどうしたらいいですか?

私はマトリックスを探しています。それを取得する方法、または「複数ステップの手順」を理解するための例を少なくとも1つ探しています。

エッジ演算子の実装を取得する手順を示すページが見つかりました。フィルタリングのためのステップは何ですか? (誘導体X、誘導体Y、グラジエント、非最大抑制、ヒステリシス)。ページはCanny Edge Detector(ミケル・ロドリゲス)。

+0

画像処理ツールボックスにアクセスできますか?キャニーディテクタがそこにあります。 –

+0

関数の端( 'canny')を参照するか、それ以外は何か?要点は、エッジを適用できないことです(グレースケール画像をフィルタリングするのではなくフィルタリングするように求められるため) – dragonmnl

+0

はい、http://www.mathworks.fr/help/toolbox/images/ref/ edge.html –

答えて

1

指摘したように、Canny Edge Detectorは、フィルタではなくアルゴリズムです。つまり、「Canny」フィルタを使用することはできません。

のアルゴリズム(WikipediaまたはOpenCV implementation)に関連する手順を見てみましょう:(ガウスフィルタを使用して)

  1. ガウシアンフィルタリング(他のいくつかのエッジフィルタなどのSobelフィルタを使用して)画像の
  2. グラデーション
  3. 非最大抑圧(フィルタなし関与)
  4. 閾値処理(フィルタなし関与)

ご覧のとおり、のCannyフィルターはありません。そのようなフィルターを手に入れることはできません。

関連する問題