如何使用blockproc处理块数据以进行特征提取

时间:2013-12-22 17:40:37

标签: matlab image-processing pattern-recognition

我使用blockproc将图像分割成10x10重叠图像块,我想提取这些块的特征,但是Matlab给出了错误。该任务的代码粘贴在此处。 Matlab错误是

 Error in ==> blockproc at 214
output_block = userfunDispatcher(fun,input_struct,trim_border);

 Error in ==> Main at 57
B1 = blockproc(g,[4 4],fun,'BorderSize',[3 3]); %[M + 2*V, N + 2*H] 

代码:

  fun=@(block_struct)feature_extraction(block_struct.data);
  B=1 blockproc(g,[4 4],fun,'BorderSize',[3 3]);

特征提取功能代码

  function features=feature_extraction(name_images)
  [num_im,q]=size(name_images);
  features=zeros(num_im,12);
  for i=1:num_im
  A=imread(name_images(i,:));
  A=double(A);

  %Normalization of the pixels intensity in [0, N_gray-1]
  A=round((N_gray-1)*((A-min(A(:)))/(max(A(:))-min(A(:)))));

  features(i,1)=mean2(A);
  features(i,2)=std2(A);
  features(i,3)=skewness(A(:));
  features(i,4)=kurtosis(A(:));
  end

请指导我它有什么问题,我该如何解决它。有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

您最好检查一下name_imagesA=imread(name_images(i,:));如果是结构而不是字符串,则可能导致错误。