2016-07-25 3 views
0

私は、黒と白の衝撃波の画像にMatlabのエッジ機能を使用しようとしています。この機能を使用して取得した画像は、「ant race」画像です。ショックウェーブの端を見つけようとする別の方法があるのだろうかと思っています。以下は私のコードです:MatlabのCanny Edge検出器が "ant race"画像を返します

edgeimage = edge(Imagematrix(:,:,45),'Canny'); 

これは、元の画像である

the original picture

Imagematrixは3次元2048x2040x90行列です。エッジはどこにでもあるよう

これは私が取得画像Iは、エッジ機能を実行

image I get when I run the edge function

+0

元の画像を投稿できますか? –

+0

自分でcannyを実装すると、パラメータをひねり調整することができます。これは有用である可能性があります。 –

+0

@NikolasRieble、私はちょうどorignal画像で私のポストを更新しました! –

答えて

3

あなたの全体像であるが、「非平坦」です。 edge、thresholdの3番目のパラメータを使用してみてください。しきい値の異なる値を使用して画像

% ofc this is not your real data, but close 
I=imread('http://i.stack.imgur.com/ZaVGh.png'); 
edgeimage = edge(I(:,:,1),'Canny',0.22); 
imshow(edgeimage) 

enter image description here

プレイを用いた実施例。 sigma変数で再生することもできます。それはカーネルのサイズを定義します

+1

ヒステリシスのスレッショルドでも遊んでください。 Cannyには、低いしきい値と高いしきい値の2つのしきい値があります。これらの両方を使用して、ガウスのぼかしのサイズと、非Maxima Suppressionのウィンドウを適切な結果のために再生してください。 – rayryeng

+0

@rayryeng残念ながら、あなたはMATLABの 'edge'のすべてにアクセスできません –

+0

本当ですか?私はドキュメントを見ました。あなたは少なくとも閾値とボケの大きさで遊ぶことができます。あなたはNMSに関して正しいです。 – rayryeng

関連する問題