I have this code that detects vegetation from a picture. i want to remove it. how should i do that?
1 回表示 (過去 30 日間)
古いコメントを表示
charuleelaa vanilavarasu
2016 年 2 月 3 日
コメント済み: Image Analyst
2016 年 2 月 3 日
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 件のコメント
採用された回答
Image Analyst
2016 年 2 月 3 日
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 件のコメント
Image Analyst
2016 年 2 月 3 日
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.
その他の回答 (1 件)
Walter Roberson
2016 年 2 月 3 日
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 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!