Örneğimizde 3×3 filter, ve siyah beyaz bir resim kullanılmıştır.
Laplacian Algoritması
Amacımız;
- Resminizi pixel pixel okumak.
- Her pixel’in etrafında bulunan n kadar uzaklıktaki pixellerin değerleri belirlediğimiz kernel matrisi ile çarpmak.(Kenar çizgilerini içe doğru veya dışa doğru çizmek için amaca uygun olarak pozitif veya negatif kernel kullanılabilir)
- Yeni resimde aynı konumdaki pixele bulduğumuz ortalamayı atamak.
clc; clear; close all; | |
I= imread('chessboard.jpg'); | |
I = rgb2gray(I); | |
[R,C] = size(I); | |
SI = uint8(zeros(R,C)); | |
mask = 1; | |
% kernel = [-1,-1,-1;-1,8,-1;-1,-1,-1]; | |
% kernel = [1,1,1;1,-8,1;1,1,1]; | |
kernel = [0,-1,0;-1,4,-1;0,-1,0]; | |
for r=1:R | |
for c=1:C | |
values = 0; | |
for i=-mask:mask | |
for j=-mask:mask | |
if(((r+i)>0) && ((c+j)>0) && ((r+i)<=R) && ((c+j)<=C)) | |
values = values + (double(I(r+i,c+j)) * double(kernel(i+2,j+2))); | |
end | |
end | |
end | |
SI(r,c) = values; | |
end | |
end | |
subplot(1,2,1); imshow(I); subplot(1,2,2); imshow(SI); |
Top comments (0)