How do I determine the percentage of pixels of a certain colour range within an area in my image?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Jayden Hasemann
el 10 de Sept. de 2017
Comentada: Jayden Hasemann
el 28 de Sept. de 2017
I am trying to determine the percentage of pixels of a certain colour range within an area in my image.
I have already turned the image to HSI to to then find a range of intensity in which the clouds would appear as. I now want to find out what percentage of cloud (range of intensity) is within a certain region i.e. around the sun.
This in order to then use this information in an if statement to determine if a white is present within a specified region of the image.
Any help would be appreciated.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/167117/image.jpeg)
0 comentarios
Respuesta aceptada
Matt J
el 10 de Sept. de 2017
Editada: Matt J
el 10 de Sept. de 2017
intensity = HSIimage(:,:,3);
map= (intensity>=lowerlimit & intensity<=upperlimit);
percentage=sum(map(:))/numel(map)*100;
Más respuestas (1)
Image Analyst
el 11 de Sept. de 2017
I don't think your algorithm is very robust. I suggest you follow the papers of researchers who have successfully found clouds and published their algorithms. See articles on cloud detection in Vision Bib:
16.6.2.12 Tracking for Weather, Clouds
2 comentarios
Image Analyst
el 11 de Sept. de 2017
Editada: Image Analyst
el 11 de Sept. de 2017
Try the colorcloud() function. Also try the classification Learner App on the Apps tab. Also try the Color Thresholder on the Apps tab.
And see my color segmentation demos on my File Exchange http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862&sort=downloads_desc
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!