I need a simple matlab code to convert a color image to binary image and back to color image.
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Image Analyst
2015-4-10
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 个评论
Sujitha
2015-4-10
2 个评论
Michael Haderlein
2015-4-10
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!