what is the meaning of this line? BW = im2bw(GRAY, threshold);

1 vue (au cours des 30 derniers jours)
Shaila parvin
Shaila parvin le 28 Mai 2013
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
what is the meaning of this line?
BW = im2bw(GRAY, threshold);

Réponses (1)

Iain
Iain le 28 Mai 2013
That line compares your image, to a threshold, and produces an array of the same size, containing "false" where the image is less than the threshold, and "true" where it is higher than it.
If you do not recognise a function, I recommend looking it up in matlab's help rather than asking here - you'll get faster answers.

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by