[ Dejan tf @ 27.05.2013. 14:12 ] @
Postovani radim na fakultetu jedan seminarski rad digitalnu obradu slike, potrebna mi je pomoc..Treba da napisem algoritam bez koriscenja funkcija u matlabu koji ce da broji objekte na slici i koji ce ispitivati koji piksel pripada objektu.Imam jedan kod ako moze pojasnjenje kod njega. Code: function G=labeling(E) [M,N]=size(E); G=zeros(M,N); spoc=sum(sum(G)); tek=1; for m=1:M for n=1:N if(E(m,n)) G(m,n)=tek; tek=tek+1; end end end while stek>spoc spoc=stek; G=max(max(G,[zeros(M,1),G(:,1:M-1)]), [G(:,2:N),zeros(M,1)]).*E; G=max(max(G,[zeros(1,N);G(1:M-1,:)]), [G(2:M,:);zeros(1,N)]).*E; stek=sum(sum(G)); end Kada ucitam sliku i iskoristim ovaj deo koda javla mi grsku function G=labeling(E) A znam da deo funkcije vrsi maksimiziranje labela iz susedstva samo za tačke koje pripadaju objektima, kako na osnovu ovoga prebrojati objekte. Code: G=max(max(G,[zeros(M,1),G(:,1:M-1)]), [G(:,2:N),zeros(M,1)]).*E; G=max(max(G,[zeros(1,N);G(1:M-1,:)]), [G(2:M,:);zeros(1,N)]).*E; Matlab u sustini koristim da bi mi rezultat bio prikazan slikovito, zbog toga treba da izbegavam funkcije iz matlaba, taj algoritam koji budem napisao treba da prebacim u C jezik posto tu sliku posle smestam na mikrokontroler, sintaksa ce se razlikovati. Hvala unapred |