2012-04-04 22 views
0

「エッジ」メソッドを使用せずに画像内のエッジを検出するには、数学演算(行列または派生またはdivなど)のみを使用しますか?実際には、アルゴリズムCannyまたはsobelまたはその他のアルゴリズムを使用して、関数edgeを書き換えるにはどうすればよいですか?例えば画像内のエッジを見つける

enter image description here

ピンクの長方形256 * 256 黒い長方形127 * 127

回答:あなたはキャニー、ソーベルを使用したいと述べているCanny Tutorial

+0

は、なぜあなたは完全に使用可能な機能がすでに存在しているときにそれを再書いてみませんか?何らかの方法で 'edge'をカスタマイズしますか? cannyアルゴリズムとsobelアルゴリズムの両方を 'edge'で使うことができます。 –

答えて

2

または別のアルゴリズムを使用する。これらはどちらもエッジで使用できます。たとえば、次のように試してみてください。

BW = edge(I,'canny'); 

ここで、Iは画像マトリックスです。あなたは見つけることに興味がある場合はどのようにあなたのコマンドウィンドウにedge作品、タイプ

edit edge 

。 MATLAB独自の実装が表示されます。

edgeを最初から再実装して、画像処理アルゴリズムの仕組みをよく理解することができます。もしそうなら、私は次のソースの方にご案内します:

具体的な矩形の例では、edgeを使用してエッジを見つけることが可能です。あなたがしなければならないトリックは、rgb2grayを使って、rgbイメージをグレースケールイメージに変換することです。例えば試してみてください。

rgb_image = imread('iarLe.png'); 
gray_image = rgb2gray(rgb_image); 
edge_image = edge(gray_image); 
imshow(edge_image); 

enter image description here

+0

http://www.cs.ucf.edu/~mikel/Research/Edge_Detection.htm – 0x90

+0

いいえ、使用方法が「除外」で、pluse、minuse、div、sqrt、...の場合のみ – user1263390

+0

あなたはまだ ' MATLABにはソースコードが用意されている非常によく実装されたバージョンがあるときに、他の人がこれを行うのを助ける理由を説明しました。なぜあなたは 'edge 'の新しいバージョンが必要なのですか? –

関連する問題