LINUX.ORG.RU

История изменений

Исправление Sadler, (текущая версия) :

Первое, что пришло в голову:

function res = imblurlog(img, num)

    img=gpuArray(double(img));
    res = gpuArray.zeros(num,1);
    chan_count = size(img,3);
    cs = gpuArray.zeros(chan_count,1);    

    for k=1:num
        for n=1:chan_count
            cs(n) = corr2(imgaussfilt(img(:,:,chan_count),k*0.01), img(:,:,chan_count));
        end
        res(k) = norm(cs);        
    end
    
    res = gather(res);
end

На одной несинтетической сцене графики для разных камер будут отличаться а) шириной пика б) скоростью падения. Метод сверил с результатами голосования, он вполне неплохо отражает детализацию. Чтобы не читать график руками, можно к результату применить mean, у наиболее детальной картинке этот показатель будет минимальным.

Исходная версия Sadler, :

Первое, что пришло в голову:

function res = imblurlog(img, num)

    img=gpuArray(double(img));
    res = gpuArray.zeros(num,1);
    chan_count = size(img,3);
    cs = gpuArray.zeros(chan_count,1);    

    for k=1:num
        for n=1:chan_count
            cs(n) = corr2(imgaussfilt(img(:,:,chan_count),k*0.01), img(:,:,chan_count));
        end
        res(k) = norm(cs);        
    end
    
    res = gather(res);
end

На одной несинтетической сцене графики для разных камер будут отличаться а) шириной пика б) скоростью падения.