I have this code that detects vegetation from a picture. i want to remove it. how should i do that?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
charuleelaa vanilavarasu
il 3 Feb 2016
Commentato: Image Analyst
il 3 Feb 2016
Image1 = im2double(imread('image\8.jpg'));
g=rgb2gray(Image1);
[row column page] = size(Image1)
mask = Image1(:,:,2) > Image1(:,:,1) & Image1(:,:,2) > Image1(:,:,3);
Image2 = Image1 .* mask(:,:,[1 1 1]);
figure,imshow(Image2);
title('light green');
mask = Image2(:,:,2) + 20 > Image2(:,:,1) & Image2(:,:,2) + 20 > Image2(:,:,3);
Image3 = Image2 .* mask(:,:,[1 1 1]);
figure,imshow(Image3);
title('dark green');
0 Commenti
Risposta accettata
Image Analyst
il 3 Feb 2016
See my color segmentation demos in my File Exchange http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
Or else search on the tag "leaf".
Or else use imseggeodesic(). Look up examples in the help for it.
2 Commenti
Image Analyst
il 3 Feb 2016
Set a breakpoint on the call to menu(). Chances are you clicked somewhere and that popup dialog box then went underneath whatever you clicked on.
Più risposte (1)
Walter Roberson
il 3 Feb 2016
Remember when you im2double() you change the data to the range 0 to 1. Your value +20 suggests you are still thinking in terms of uint8 values in the range 0 to 255. If so then the corresponding increment in 0 to 1 range would be 20/255 rather than 20.
0 Commenti
Vedere anche
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!