0

メソッド 'edge' を使用せずに、数学演算 (matrix、Derived、div、またはその他) のみを使用して、画像のエッジを検出するにはどうすればよいですか? edge実際、アルゴリズムなどを使用し Cannyて関数を書き直すにはどうすればsobelよいですか?

例えば:

ここに画像の説明を入力

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

答え:キャニー チュートリアル

4

1 に答える 1

2

Canny、Sobel、または別のアルゴリズムを使用したいと述べています。これらは両方ともエッジで使用できます。例を試してください:

BW = edge(I,'canny');

ここで、私はあなたの画像行列です。どのように機能するか知りたい場合は、次のようedgeに入力してください。

edit edge

コマンドウィンドウに。その後、MATLAB 独自の実装を確認できます。

edge画像処理アルゴリズムがどのように機能するかをよく理解するために、ゼロから再実装することをお勧めします。もしそうなら、私はあなたを次の情報源に案内します:

edge長方形を使用した特定の例では、エッジを見つけるために使用することはかなり可能です。あなたがしなければならない1つのトリックは、を使用してRGB画像をグレースケール画像に変換することですrgb2gray. 例を試してください:

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

ここに画像の説明を入力

于 2012-04-04T17:20:31.557 に答える