История изменений
Исправление 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
На одной несинтетической сцене графики для разных камер будут отличаться а) шириной пика б) скоростью падения.