% Funkce pro optimalizace Nelder-Meadovým algoritmem s pěti náhodnými
% odhady
function [vystup, kvalita]= opt_MATLAB2(obr1,obr2,okno)

fkrit = @(x,y) immse(x(okno(1):okno(2),okno(3):okno(4)),y(okno(1):okno(2),okno(3):okno(4)));

fobj=@(vystup1) fkrit(obr1,imrotate(imtranslate(obr2,[vystup1(1),vystup1(2)]),vystup1(3),'bilinear','crop'));

kvalout=Inf;
% z pěti náhodných odhadů vybere ten nejkvalitnější (Nelder-Mead funkce- fminserach)
for i=1:5
    randvstup=-10+20*rand(1,3);
    [vystup,kvalita]=fminsearch(fobj,randvstup);
    if kvalita<kvalout
        vystupout=vystup;
        kvalout=kvalita;
    end
end

vystup=vystupout;
kvalita=kvalout;