我有一个保存图像的三维单元格(即images = cell(10,4,5)
),每个单元格块保存不同大小的图像。就我想要达到的目标而言,尺寸并不太重要。我想知道是否有一种有效的方法来计算每个单元块的锐度(总单元块= 10 * 4 * 5 = 200)。我需要使用以下函数计算每个块的清晰度:
如果重要:
总计200个单元格。
%% Sharpness Estimation From Image Gradients
% Estimate sharpness using the gradient magnitude.
% sum of all gradient norms / number of pixels give us the sharpness
% metric.
function [sharpness]=get_sharpness(G)
[Gx, Gy]=gradient(double(G));
S=sqrt(Gx.*Gx+Gy.*Gy);
sharpness=sum(sum(S))./(480*640);
目前我正在做以下事情:
for i = 1 : 10
for j = 1 : 4
for k = 1 : 5
sharpness = get_sharpness(images{i,j,k});
end
end
end
清晰度功能不是什么花哨的东西。我只有很多数据,因此计算所有内容需要很长时间。
目前我正在使用嵌套的for循环遍历每个单元块。希望有人能帮我找到更好的解决方案。
(P.S。这是我第一次提出问题,因此如果有任何不清楚的地方请再提问。谢谢)