Görüntünün sınır eğrisi local süreklilik gösteren ve çevresine göre belirginleşmiş bölgelerin değişim noktalarından oluşur. Görüntü sınırı 5 farklı algoritma ile çıkarılabilir. Bunlar Sobel, Prewitt, Roberts, Log ve Canny algoritmalarıdır. Sınır grafiği siyah zemin üzerine beyaz olarak çizilir.
1. Log Filtresi
Bu filtreye Marr-Hildreth (Laplacian of Gaussian – LoG) algoritması denir. Gaussion filtresine Laplası alınarak işlem yapar.
2. Canny Filtresi
Kenar bulmada son derece etkin bir algoritmadır. Önce görüntüdeki gürültü bir sigma değerine göre üretilen Gaussian çekirdekle konvolusyonu alınarak azaltılır. Daha sonra, gradyent operatörü uygulanarak, kenar gradyent büyüklüğü ve yönü hesaplanır. Kenarlar, non maxima baskılama uygulanarak inceltilir. Son olarak görüntü, ikili eşikleme uygulanarak istenmeyen ayrıntılardan arındırılır.
3. Roberts Filtresi
Bu filtre diagonal olarak kenar tarar. Kernel matrisi şöyledir: [1,1,0;1,0,-1;0,-1,-1] veya [2,1,0;1,0,-1;0,-1,-2].
4. Prewitt Filtresi
Bu filtrede sobel filtresi gibi düşey ve yatay keskinlik yakalar. Kernel matrisi sobelden farklıdır. Matrsin dizimi şöyledir: [1,1,1;0,0,0;-1,-1,-1] veya [1,0,-1;1,0,-1;1,0,-1].
5. Sobel Filtresi
Sobel operatörü yatay ve düşey yönde keskinlikleri yakalar. Kernel matrisi dizilimi şöyledir: [1,2,1;0,0,0;-1,-1,-1] veya [1,0,-1;2,0,-2;-1,-2,-1].
6. Laplace Filtresi
Laplace operatörü her yöndeki keskinleştirme yapmaya yarar.
1. Log Filtresi
Bu filtreye Marr-Hildreth (Laplacian of Gaussian – LoG) algoritması denir. Gaussion filtresine Laplası alınarak işlem yapar.
2. Canny Filtresi
Kenar bulmada son derece etkin bir algoritmadır. Önce görüntüdeki gürültü bir sigma değerine göre üretilen Gaussian çekirdekle konvolusyonu alınarak azaltılır. Daha sonra, gradyent operatörü uygulanarak, kenar gradyent büyüklüğü ve yönü hesaplanır. Kenarlar, non maxima baskılama uygulanarak inceltilir. Son olarak görüntü, ikili eşikleme uygulanarak istenmeyen ayrıntılardan arındırılır.
3. Roberts Filtresi
Bu filtre diagonal olarak kenar tarar. Kernel matrisi şöyledir: [1,1,0;1,0,-1;0,-1,-1] veya [2,1,0;1,0,-1;0,-1,-2].
4. Prewitt Filtresi
Bu filtrede sobel filtresi gibi düşey ve yatay keskinlik yakalar. Kernel matrisi sobelden farklıdır. Matrsin dizimi şöyledir: [1,1,1;0,0,0;-1,-1,-1] veya [1,0,-1;1,0,-1;1,0,-1].
5. Sobel Filtresi
Sobel operatörü yatay ve düşey yönde keskinlikleri yakalar. Kernel matrisi dizilimi şöyledir: [1,2,1;0,0,0;-1,-1,-1] veya [1,0,-1;2,0,-2;-1,-2,-1].
6. Laplace Filtresi
Laplace operatörü her yöndeki keskinleştirme yapmaya yarar.
% Sınır Bulma Filtreleri
%(1.Log Filtresi, 2.Canny Filtresi, 3.Roberts Filtresi,
% 4.Prewitt Filtresi, 5.Sobel Filtresi, 6.Laplace Filtresi)
ResimOrjinal=imread('eight.tif');
logFiltresi=edge(ResimOrjinal,'log');
cannyFiltresi=edge(ResimOrjinal,'canny');
robertsFiltresi=edge(ResimOrjinal,'roberts');
prewittFiltresi=edge(ResimOrjinal,'prewitt');
sobelFiltresi=edge(ResimOrjinal,'sobel');
hLaplaceFiltresi=fspecial('laplacian');
%ResimOrjinal=im2double(ResimOrjinal);
laplaceFiltresi=imfilter(ResimOrjinal,hLaplaceFiltresi,'replicate');
figure;
subplot(3,3,2);
imshow(ResimOrjinal);
title('Resmin Orjinal Hali');
subplot(3,3,4);
imshow(logFiltresi);
title('1.Log Filtresi');
subplot(3,3,5);
imshow(cannyFiltresi);
title('2.Canny Filtresi');
subplot(3,3,6);
imshow(robertsFiltresi);
title('3.Roberts Filtresi');
subplot(3,3,7);
imshow(prewittFiltresi);
title('4.Prewitt Filtresi');
subplot(3,3,8);
imshow(sobelFiltresi);
title('5.Sobel Filtresi');
subplot(3,3,9);
imshow(laplaceFiltresi);
title('6.Laplace Filtresi');