How to reduce brightness of ceratin pixels from an Image?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Dongyu Liang
le 2 Fév 2021
Commenté : Dongyu Liang
le 4 Fév 2021
Hi,
I have a set of particle micro-CT images for 3D structure generation. However, the ash on the particle cause pixels to be super brightness and brings negative effect on threshold value selection for segmentation. The basic idea is to set a value of brightness to be a threshold value, any higher brightness value of each pixel will be reduced to a lower brightness value. But how to appropriate determine those brightness values is a problem. Is there any methods or functions in Matlab can solve this problem?
Thanks!
0 commentaires
Réponse acceptée
Bjorn Gustavsson
le 2 Fév 2021
Is this the operation that you're asking for?
too_bright = 123; % or your chosen level
replacement_level = 123; % Not a good idea to give it a lower value, you might want a nan to flag pixels as bad?
Im(Im(:)>too_bright) = replacement_level;
Where Im is your image.
HTH
7 commentaires
Bjorn Gustavsson
le 4 Fév 2021
Well, if the ash-part is just a small super-bright part of the particles you want to identify, then by all means simply replace these outliers with nan and then use the inpaint_nans function to fill in those wholes. That should give you a non-toxic (for your processing) filling-in of your particles. Then the segmentation/identification should(ought to?) work OK. Just take extra care to check that nothing "peculiar" happens with the inpaint-threshold-identification sequence - I always think about this in terms of making a decision about radioteraphy on a brain-tumor, if I were to have done some inpainting type operation I'd like to be pretty darn sure about the advice I'd give (in my field the stakes are not that serious, but I assume that yours is...).
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!