how to find regionprops max(area) ind?

if true
clear all;
clc;
img = imread('40.jpg');
tic
I = rgb2hsv(img);
channel1Min = 0.956; channel1Max = 0.006;
channel2Min = 0.594; channel2Max = 0.886;
channel3Min = 0.529; channel3Max = 0.780;
sliderBW = (I(:,:,1) >= channel1Min ) | (I(:,:,1) <= channel1Max) &(I(:,:,2) >= channel2Min ) & (I(:,:,2) <= channel2Max) & (I(:,:,3) >= channel3Min ) & (I(:,:,3) <= channel3Max); BW = sliderBW; bw3 = areaimg(BW); bw3 = ratioimg(bw3); imshow(bw3); S = regionprops(bw3,'BoundingBox','Area'); BW_2 = imcrop(img,[S.BoundingBox(1,:)]); end
i have a problem that is If the noise in my image is not filtered clean then the regionprops show Two or more struct then It will show an error so how to use one ind to replace imcrop(img,[S.BoundingBox(1,:)]);

1 Commento

if true
clear all;
clc;
img = imread('40.jpg');
tic
I = rgb2hsv(img);
channel1Min = 0.956; channel1Max = 0.006;
channel2Min = 0.594; channel2Max = 0.886;
channel3Min = 0.529; channel3Max = 0.780;
sliderBW = (I(:,:,1) >= channel1Min ) | (I(:,:,1) <= channel1Max) &(I(:,:,2) >= channel2Min ) & (I(:,:,2) <= channel2Max) & (I(:,:,3) >= channel3Min ) & (I(:,:,3) <= channel3Max);
BW = sliderBW;
bw3 = areaimg(BW);
bw3 = ratioimg(bw3); imshow(bw3);
S = regionprops(bw3,'BoundingBox','Area');
BW_2 = imcrop(img,[S.BoundingBox(1,:)]);
end

Accedi per commentare.

Richiesto:

il 30 Ott 2017

Risposto:

il 30 Ott 2017

Community Treasure Hunt

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

Start Hunting!