I need a simple matlab code to convert a color image to binary image and back to color image.
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Irgb = imread('image.jpg');
threshold = 128;
Igray = rgb2gray(Irgb);
Ibw = Igray>threshold;
imshow(Ibw);
This gives the binary image ..
But RGB = cat(3,Igray,Igray,Igray) and "im2bw" commands are not working... I need a code to convert that binary image back to its original rgb color.
0 commentaires
Réponses (2)
Image Analyst
le 10 Avr 2015
Once you've thrown away the color information by going to a gray scale or binary image, it's not possible to get it back. Fortunately, the Irgb variable is still there, so you still have the original color image.
Why im2bw() is not working (not converting your gray scale image into a binary image) is a separate question. How are you calling im2bw()? How do you know it doesn't work? How are you verifying that? Do you use imshow() to display the output? Is there an error message?
0 commentaires
Sujitha
le 10 Avr 2015
2 commentaires
Michael Haderlein
le 10 Avr 2015
Please make sure your response on answers is in comments to these answers and not new "answers". The order of answers might change and then everything becomes unreadable.
"But are you sure that there are no possibilities to retrieve the colors back?"
Yes. rgb2gray is returning something like the mean of R, G, and B. So if I tell you that the mean of three numbers is 10, you will agree that it's impossible to get the value of these three individual numbers out of that information as there are many valid combinations. You'll have to use your original image I.
Voir également
Catégories
En savoir plus sur Image Processing Toolbox 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!