【发布时间】:2015-02-03 10:27:46
【问题描述】:
我正在尝试学习如何查找图像是否在焦点上并将它们从图像列表中删除。这些图像的分辨率非常高(jp2),我正在尝试使用我在 MATLAB 网站http://www.mathworks.com/matlabcentral/fileexchange/27314-focus-measure/content/fmeasure/fmeasure.m 中找到的代码 我正在尝试使用以下功能
WSize = 15; % Size of local window (only some operators)
case 'SFIL' %Steerable filters (Minhas2009)
% Angles = [0 45 90 135 180 225 270 315];
N = floor(WSize/2);
sig = N/2.5;
[x,y] = meshgrid(-N:N, -N:N);
G = exp(-(x.^2+y.^2)/(2*sig^2))/(2*pi*sig);
Gx = -x.*G/(sig^2);Gx = Gx/sum(Gx(:));
Gy = -y.*G/(sig^2);Gy = Gy/sum(Gy(:));
R(:,:,1) = imfilter(double(Image), Gx, 'conv', 'replicate');
R(:,:,2) = imfilter(double(Image), Gy, 'conv', 'replicate');
R(:,:,3) = cosd(45)*R(:,:,1)+sind(45)*R(:,:,2);
R(:,:,4) = cosd(135)*R(:,:,1)+sind(135)*R(:,:,2);
R(:,:,5) = cosd(180)*R(:,:,1)+sind(180)*R(:,:,2);
R(:,:,6) = cosd(225)*R(:,:,1)+sind(225)*R(:,:,2);
R(:,:,7) = cosd(270)*R(:,:,1)+sind(270)*R(:,:,2);
R(:,:,8) = cosd(315)*R(:,:,1)+sind(315)*R(:,:,2);
FM = max(R,[],3);
FM = mean2(FM);
我不明白 WSize=15 是如何确定的,这与数据有关还是仅与 MATLAB 中的窗口大小有关?我也不明白这两行是如何确定的
N = floor(WSize/2);
sig = N/2.5;
2.5 是标准偏差还是从数据中确定的某个值?我知道这不完全是一个 MATLAB 问题,而更多是一个焦点测量问题,但我希望有人使用过这段代码,可以帮助我破译 WSize、N 和 sig 值是如何确定的。另外,如果有人能提出更好的查找方法图像的焦点,我也会很感激。
提前谢谢你。
【问题讨论】: