%kriteriální funkce kosinové kritérium pro genetický algoritmus
function CC = kritCCgenetic(a,obraz1,obraz2)                                %vstupují posuny a obrazy
A=obraz1;                                                                   %přeuložení proměnné
B=obraz2;                                                                   %přeuložení proměnné
x=a(1);                                                                     %posun v ose x
y=a(2);                                                                     %posun v ose x
c = [400 400 100 100];                                                      %vymezení hraničních sloupců oblasti zájmu
r = [180 400 400 180];                                                      %vymezení hraničních řádku oblasti zájmu      
maskaA=roipoly(A,c,r);                                                      %vytvoření masky
c2 = [400+x 400+x 100+x 100+x];                                             %realizace posunu, nově určené hraniční sloupce 
r2 = [180+y 400+y 400+y 180+y];                                             %realizace posunu, nově určené hraniční sloupce
maskaB=roipoly(B,c2,r2);                                                    %nově vytvořená maska   
AA=A(maskaA>0);                                                             %výběr oblasti v masce           
BB=B(maskaB>0);                                                             %výběr oblasti v masce    
AA=AA-mean(mean(AA));                                                       %mezivýpočet pro kosinové kritérium
BB=BB-mean(mean(BB));                                                       %mezivýpočet pro korelaci
CC = sum(sum(AA.*BB))/sqrt(sum(sum(AA.^2))*sum(sum(BB.^2)));                %výpočet korelace
CC = CC*100;                                                                %normalizace    

