Hi,
I'm trying to identify the banana from the other fruits in an binary Image so that the result only show the banana, I used se=strel('disk',25) but the area of orange was larger so the result show the orange not banana. can you help me with the problem.
Thank you in advance.

6 Kommentare

Image Analyst
Image Analyst am 29 Dez. 2019
Not without the image we can't. You forgot to attach it. I also have no idea why you're even using strel(). That's used for doing morphological operations, which I'm not convinced you need.
yes strel() didnt work, then I used regionprops and all I could do is to draw a line around the fruit, I want to only show the banana, here is the code:
I=imread('B.jpg');
bw=im2bw(I,0.7);
bw1=~bw;
Ifilled=imfill(bw1,'holes');
I2=bwareaopen(Ifilled,1000);
[B,L] = bwboundaries(I2,'noholes');
numregion = max(L(:));
imshow(label2rgb(L));
I1=regionprops(I2,'MajorAxisLength');
stats = [I1.MajorAxisLength];
keepers = find(stats > 225);
imshow(I2);
for index=1:length(keepers)
outline = B{keepers(index)};
line(outline(:,2),outline(:,1),'color','r','LineWidth',2);
end
Sorry I forgot the picture, here you are:
Capture1.PNG
And Thank you for your help!
KALYAN ACHARJYA
KALYAN ACHARJYA am 29 Dez. 2019
Can you attach the original picture?
Sadeq Ebrahimi
Sadeq Ebrahimi am 29 Dez. 2019
Ok
B.jpg
KALYAN ACHARJYA
KALYAN ACHARJYA am 29 Dez. 2019
As you already located the roi (red boundary), is there any issue now?
Sadeq Ebrahimi
Sadeq Ebrahimi am 29 Dez. 2019
yes, delete all the other fruits and only show banana in binary

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Image Analyst
Image Analyst am 29 Dez. 2019

0 Stimmen

This looks like homework, not a real world problem. So I'll give you hints. Use the color thresholder app on the Apps tab to create a mask for yellow. Then use regionprops() to find out which blobs have a major axis some factor longer than the minor axis:
labeledImage = bwlabel(binaryImage);
props = regionprops(labeledImage, 'MajorAxisLength', 'MinorAxisLength');
aspectRatios = [props.MajorAxisLength] ./ [props.MinorAxisLength]
bananas = aspectRatios > 2; % Or whatever.
% Extract binary image of just the banana blobs
bananasImage = ismember(bananas, find(bananas));

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by