how to remove green pixels?
4 views (last 30 days)
Show older comments
i do plant disease detection and classification.i need a code to remove green pixels in matlab.i have done background removal using color thresholder app in matlab. I mean green pixels remove- " the pixels where the level of green is higher than red and blue are identified and remove by application of the mask.These green pixels most probably represent healthy areas in the leaves. Thus,after removing the background and green pixels,the region left in an image is the region of our interest" said in my thesis reference paper. If i get this green pixels remove, then i will do feature extraction using GLCM. So, how do i continue to remove green pixels? My code is given in the following:
% Title : Potato Leaf Diseases Detection based on Multiclass SVM
clc
close all
clear all
[filename, pathname] = uigetfile({'*.*';'*.bmp';'*.jpg';'*.gif'}, 'Pick a Leaf Image File');
I = imread([pathname,filename]);
I = imresize(I,[256,256]);
figure, imshow(I); title('Input Leaf Image');
%Preprocessing using median filtering
I1 = rgb2gray(I);
I2 = medfilt2(I1,[3 3]);
%imshow(I2);title('Filtered Image');
%%Image Segmentation
%Background Removing using Color Thresholder app
[bw,rgb] = background_removal(I);
This is my image after background masking using color thresholder app in matlab; then, how to remove green pixels ? I want to get only disease leaf area.
0 Comments
Accepted Answer
Matt J
on 20 Jul 2018
val= max(rgb,[],3);
mask=uint8(rgb(:,:,2)~=val);
imshow(rgb.*mask);
11 Comments
Image Analyst
on 23 Jul 2018
You fix the bug that is giving you false. graycomatrix() and graycoprops() do not return false.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!