GLCMを計算してから、指定された統計パラメータを計算する次の関数があります。この関数をNLFILTERに渡して、画像全体(畳み込みなどの小さなウィンドウ)の計算を実行したいと思います。並列計算ツールボックスを使用して実行するようにNLFILTERを設定しているので、以下の関数を変換したいと思います。
function [s]=glcm(img,meth)
%GLCM calculates a Gray Level Co-occurence matrix & stats for a given sub
% image.
% Input: Sub Image (subI) and a method (meth)...
% 'Contrast','Correlation','Energy','Homogeneity'
%
subI=uint8(img);
m=graycomatrix(img,'Offset',[0 1],'NumLevels',8,'Symmetric',true);
if meth(1:3)=='con'
s=graycoprops(m,'Contrast');
s=s.Contrast;
elseif meth(1:3)=='cor'
s=graycoprops(m,'Correlation');
s=s.Correlation;
elseif meth(1:3)=='ene'
s=graycoprops(m,'Energy');
s=s.Energy;
elseif meth(1:3)=='hom'
s=graycoprops(m,'Homogeneity');
s=s.Homogeneity;
else
error('No method selected.')
end
これをNLFILTERでの使用に適した関数ハンドルに変換する方法に本当にこだわっています。何か案は?ありがとう。