% izrada skripte za ucitavanja 2-dimenzionalnog signala (slike)
clear all;
close all;
clc;

% ucitavanje slike
[slika, map] = imread('NAZIV_SLIKE.gif'); %angio2.tif je dimenzije 64x64
slika = ind2gray(slika,map);
slika = double(slika);

% % segmentacija slike na regije teksture
[nova_slika] = labeliranje2(slika);
save nove_slike//NAZIV_SLIKE_labeliranje.mat nova_slika;
figure, imagesc(nova_slika); pause;

% poopcavanje regija tekstura. Zbog pogreske uzimanja uzoraka na rezultatu
% funcije labeliranja postoje regije velicine minimalnog zadanog segmenta.
% Zbog toge se radi poopcavanje da se te male regije pridruze nekoj vecoj
% susjednoj.
[nova_slika2] = poopcavanje(nova_slika);
save nove_slike//NAZIV_SLIKE_poopcavanje.mat nova_slika2;
figure; imagesc(nova_slika2); pause;

% icrtavanje granica odredjenih tekstura. Funkcija na temelju slike koju
% daje funkcija poopcavanje icrtava na originalnoj slici granice tekstura
% tako da gleda razliku u bojama referentnog i okolnih segmenata i u
% slucajevima gdje postoji razlika, crta se crna crta u referentnom
% segmentu.
[nova_slika3] = crtanje_granica(slika, nova_slika2);
save nove_slike//NAZIV_SLIKE_crtanje_granica.mat nova_slika3;
figure; imagesc(nova_slika3);pause;

% odredjivanje detaljnig granica medju teksturama. Bazira na trazenju EDGE
% BLOKOVA te pridjeljivanju piksela gledanog bloka susjedima.
[nova_slika4] = granice(slika, nova_slika2);
save nove_slike//NAZIV_SLIKE_granice.mat nova_slika4;
figure; imagesc(nova_slika4);

% crtanje detaljnih granica na temelju prethodno odreðenih tj. labeliranih.
[nova_slika5] = crtanje_granica_detaljno(slika, nova_slika4);
save nove_slike//NAZIV_SLIKE_crtanje_granica_detaljno.mat nova_slika5;
figure; imagesc(nova_slika5);