when I run the code:
function [shape] = Classify(ImageFile)if ndims(imread(ImageFile))>2RGB = imread(ImageFile);GRAY = rgb2gray(RGB);else GRAY=imread(ImageFile); RGB=GRAY;endthreshold = graythresh(GRAY);BW = im2bw(GRAY, threshold);%Invert the Binary Image
BW = ~ BW;[~,L] = bwboundaries(BW, 'noholes');STATS = regionprops(L,'all'); for i=1:length(STATS)if norm([STATS(i).Extrema(2,1), STATS(i).Extrema(2,2)]-[STATS(i).Extrema(1,1), STATS(i).Extrema(1,2)])<5 %TR,TL
%can be triangle hexagon pentagon
if norm([STATS(i).Extrema(4,1), STATS(i).Extrema(4,2)]-[STATS(i).Extrema(3,1), STATS(i).Extrema(3,2)])<5 %RT,RB
%can be pentagon triangle
if norm([STATS(i).Extrema(4,1), STATS(i).Extrema(4,2)]-[STATS(i).Extrema(5,1), STATS(i).Extrema(5,2)])<5 %RT,RB,BR = Triangle
shape(i,1)=1; % Triangle
else shape(i,1)=3; % Pentagon
end else shape(i,1) = 4; % hexagon
endelseif (STATS(i).MajorAxisLength/STATS(i).MinorAxisLength<1.1 && STATS(i).Eccentricity <0.5 || (STATS(i).Solidity/STATS(i).Extent)==1)&(STATS(i).Area<0.1*numel(GRAY)) shape(i,1)=2; % Rectangle
else shape(i,1)=0;endendif ~isempty(find(shape==2)) disp('Rectangle found');else disp('No rectangle in the image')endreturn
I've the error "??? Input argument "ImageFile" is undefined.
Error in ==> Classify at 3 if ndims(imread(ImageFile))>2"
How to solve it?
Best Answer