How to solve the error?
Afficher commentaires plus anciens
when I run the code:
function [shape] = Classify(ImageFile)
if ndims(imread(ImageFile))>2
RGB = imread(ImageFile);
GRAY = rgb2gray(RGB);
else
GRAY=imread(ImageFile);
RGB=GRAY;
end
threshold = 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
end
elseif (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;
end
end
if ~isempty(find(shape==2))
disp('Rectangle found');
else
disp('No rectangle in the image')
end
return
I've the error "??? Input argument "ImageFile" is undefined.
Error in ==> Classify at 3 if ndims(imread(ImageFile))>2"
How to solve it?
Réponse acceptée
Plus de réponses (1)
Image Analyst
le 26 Mai 2013
Put this at the beginning of your function:
if nargin < 1
[baseFileName, folder] = uigetfile();
ImageFile = fullfile(folder, baseFileName);
end
2 commentaires
Shaila parvin
le 26 Mai 2013
Image Analyst
le 26 Mai 2013
Why didn't you do what I said? It would have worked. You changed it so that it won't/can't work! uigetfile() returns what you chose into two variables, so you can't hard code some variables into there - they will be filled with whatever filename the user selects.
Catégories
En savoir plus sur MATLAB Parallel Server dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!