cnt1=0; cnt2=0; cnt3=0; cnt4=0; cnt5=0; cnt6=0; cnt7=0; cnt8=0; p = 1; row = 1; while p<(size(Theta_deg_img,1)) q = 1; while q<(size(Theta_deg_img,2)) for i=p:p+8 for j=q:q+8 if Theta_deg_img(i,j)>=-180 && Theta_deg_img(i,j)<=-135 cnt1 = cnt1+1; elseif Theta_deg_img(i,j)>=-134 && Theta_deg_img(i,j)<=-90 cnt2 = cnt2 + 1; elseif Theta_deg_img(i,j)>=-89 && Theta_deg_img(i,j)<=-45 cnt3 = cnt3 + 1; elseif Theta_deg_img(i,j)>=-44 && Theta_deg_img(i,j)<=0 cnt4 = cnt4 + 1; elseif Theta_deg_img(i,j)>=1 && Theta_deg_img(i,j)<=45 cnt5 = cnt5 + 1; elseif Theta_deg_img(i,j)>=46 && Theta_deg_img(i,j)<=90 cnt6 = cnt6 + 1; elseif Theta_deg_img(i,j)>=91 && Theta_deg_img(i,j)<=135 cnt7 = cnt7 + 1; else cnt8 = cnt8 + 1; end eval([fsrc '(row,1) = cnt1;']); eval([fsrc '(row,2) = cnt2;']); eval([fsrc '(row,3) = cnt3;']); eval([fsrc '(row,4) = cnt4;']); eval([fsrc '(row,5) = cnt5;']); eval([fsrc '(row,6) = cnt6;']); eval([fsrc '(row,7) = cnt7;']); eval([fsrc '(row,8) = cnt8;']); end end q = q + 9; row = row+1; cnt1=0; cnt2=0; cnt3=0; cnt4=0; cnt5=0; cnt6=0; cnt7=0; cnt8=0; end p = p + 9; end
MATLAB: How to reduce the time complexity of this matlab code.. Its taking lot of time to execute when an image is fed as input.
logicocr
Best Answer