Sobel-Kantenerkennung – matlab

Hallo, als Teil meiner Hausaufgaben. muss ich das berechnen und anzeigen der edge-Größe Bild und die
edge-Richtung, Bild von Bild balls1.tif mit Sobel Edge detection.

Nicht die Verwendung von matlab ' s edge-Funktion. Sie dürfen conv2.
Die Anzeige eines binären edge-Bild (1-Rand-pixel, 0 keine Kante) der starke Rand Pixel (oberhalb eines Schwellenwertes).
Bestimmen Sie einen Schwellenwert, entfällt die Kugel Schatten.

hier ist mein main.m

addpath(fullfile(pwd,'TOOLBOX'));
addpath(fullfile(pwd,'images'));

%Sobel Edge Detection 
Image = readImage('balls1.tif');
showImage(Image);
message = sprintf('Sobel Edge Detection');
sobelEdgeDetection(Image);
uiwait(msgbox(message,'Done', 'help'));
close all

hier ist mein SobeEdgeDetection.m

function [ output_args ] = SobelEdgeDetection( Image )

maskX = [-1 0 1 ; -2 0 2; -1 0 1];
maskY = [-1 -2 -1 ; 0 0 0 ; 1 2 1] ;

resX = conv2(Image, maskX);
resY = conv2(Image, maskY);

magnitude = sqrt(resX.^2 + resY.^2);
direction = atan(resY/resX);
thresh = magnitude < 101;
magnitude(thresh) = 0;
showImage(magnitude);

end

meine Fragen sind:
1. i: was ist die Richtung ? und wie kann ich ihn anzeigen?
2. gibt es einen besseren Weg, um einen Schwellenwert zu beseitigen, den ball Schatten. ich verwendet, trial-and-error....

Sobel-Kantenerkennung – matlab

diese sind mein Ergebnis so weit wie die die Größenordnung:

Sobel-Kantenerkennung – matlab

Richtung - die Richtung der Farbverläufe auf dem Bild, es ist orthogonal zu-Objekt edge. Ihre Bilder lassen Sie nicht zu beseitigen Schatten: in diesem Fall werden Sie verlieren einige Obere Grenzen.

InformationsquelleAutor Gilad | 2013-01-16

Schreibe einen Kommentar