Zadatak za seminarski rad • Date su slike slika37_1.jpg i slika37_2.jpg. potrebno je detektovati ivice na slikama primjenom Canny detektora ivica i primjenom morfoloških operatora. Koja po Vama metoda daje bolje rezultate i zašto? • Druga slika sadrži šum. Primijeniti filtriranje slike, a zatim detekciju ivica. Kakvi se rezultati dobijaju u odnosu na detekciju ivica bez filtriranja? • Seminarski rad mora sadržavati kod, sve rezultujuće slike i jasno objašnjenje kako su izvedeni postupci obrade slike (uz opis metode) i koji su rezultati. Detektovanje ivica primjenom morfoloških operatora • % primjena morfoloskih operatora slika 1 • A = imread ('slika37_1.jpg'); %ucitavanje slike • se=strel (ones(3)); %definisanje strukturnog elementa • Amax=imdilate(A,se); %gray scale dilatacija slike • Amin=imerode(A,se); % gray scale erozija slike • Mgrad=Amax-Amin; % oduzimanje dviju slika • subplot(1,3,1), imagesc(Amax); axis image;axis off; • subplot(1,3,2), imagesc(Amin); axis image; axis off; • subplot(1,3,3), imagesc(Mgrad); axis image; axis off; • colormap(gray); subplot(1,3,1), imagesc(Amax); axis image;axis off; subplot(1,3,2), imagesc(Amin); axis image; axis off; subplot(1,3,3), imagesc(Mgrad); axis image; axis off; Isti se postupak koristi i za drugu sliku Canny detektor ivica • % canny detektor ivica • • I = imread('slika37_1.jpg'); %ucitavanje slike • subplot(2,2,1), imshow(I); • P = imread('slika37_2.jpg'); %ucitavanje slike • subplot(2,2,2), imshow(P); • • IEr = edge (I, 'canny'); %naglasavanje ivica pomocu canny detektora • subplot(2,2,3), imshow(IEr); • • IEp = edge (P, 'canny'); • subplot(2,2,4), imshow(IEp); IEr = edge (I, 'canny'); subplot(2,2,3), imshow(IEr); IEp = edge (P, 'canny'); subplot(2,2,4), imshow(IEp); Koja po vama metoda daje bolje rezultate i zašto? U ovom primjeru i jedna I druga metoda su dale dobre rezultate s tim da je canny metoda za prepoznavanje ivica bolja za tehniku dodatne obrade jer pokazuje više detalja na slici. Filtriranje slike te detekcija ivica • %Primijeniti filtriranje slike, a zatim detekciju ivica. • I = imread('slika37_2.jpg'); %ucitavanje slike • subplot(2,2,1), imshow(I); %prikaz slike • k = ones(3,3)/9; %Definisemo mean filter • Im = imfilter (I, k); %primjenjujemo filter na orginalnu sliku • subplot(2,2,2), imshow(Im); %prikaz rezultujuce slike • S = edge (Im, 'canny'); %primjenjivanje canny detektora ivica na dobijenu sliku • subplot(2,2,3), imshow(S); %prikaz finalne slike Orginalna slika Filtrirana slika Primjena detektora ivica na filtriranoj slici Kakvi se rezultati dobijaju u odnosu na detekciju ivica bez filtriranja? • Rezultati koji se dobiju primjenom canny detektora ivica na filtriranu sliku u odnosu na sliku koja nije filtrirana su puno bolji. Slika je mnogo jasnija i više odgovara orginalnoj slici.