Segmenting or Thresholding Blue
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I need to segment the color blue on this image.
It seems easy, but the software doesn't recognize the blue from some other structures in the image - which are clearly not blue.
Can anyone help?
Réponse acceptée
Juderb
le 8 Mai 2014
Most color images are stored in RGB format. In other words, they are 3D matrices where the first, second, and third matrix represents the intensity of red, green, and blue respectively.
In your case, the simplest solution may be to isolate the blue-channel and perform segmenting on that image:
imageRaw = imread("source");
imageBlue = imageRaw(:,:,3);
imageBlueThresh = graythresh(imageBlue);
imageBlueBw = im2bw(imageBlue,imageBlueThresh);
What would you like to do with the segmented regions though? Remove everything else from the image? Outline them? Quantify something within those regions?
8 commentaires
tashu Dabariya
le 9 Juin 2019
show this error Indexing cannot yield multiple results.
error in (line 6) [imageMax,imageMaxIndex] = max(imageRaw,[],3);
Image Analyst
le 11 Juin 2019
You're right - this code doesn't work. Not sure why it was accepted when it's wrong.
There may be other problems, but at least these two lines need to be fixed, and here they are:
imageRaw = imread('IMG_0860.JPG');
imageRaw = double(imageRaw); % NOT double(image) !!!!!!!!!!!!
If you continue to have problem, see my answer below or post your code and image in a new question.
Plus de réponses (1)
Image Analyst
le 8 Mai 2014
There are several ways to do it, and I show some of them in my File Exchange http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
Or, if you have the stats toolbox, you can use kmeans: http://www.mathworks.com/products/demos/image/color_seg_k/ipexhistology.html
2 commentaires
Image Analyst
le 8 Mai 2014
It could be. I'd have to look at the color gamut in 3D. Depending on the shape of the gamut, there are different methods that would be best. Delta E basically carves out a ball in LAB color space. Sometimes you need to carve out a sector using thresholding on the hue channel, and sometimes you need to also consider the saturation and value channels.
Voir également
Catégories
En savoir plus sur Convert Image Type dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!