The value of an image after adapthisteq
1 次查看(过去 30 天)
显示 更早的评论
After I contrast enhance an image by using adapthisteq, the pixels of the image will convert to some decimals value? How can I convert back it to pixels?
For example, I adapthisteq(img1). After that I type img1 inside Matlab, it show me some decimal value of img1 instead of the pixels value of img1. Howevver, what I actually want is the pixels value of img1 after adapthisteq, so how can I convert it back?
0 个评论
回答(2 个)
Image Analyst
2013-1-23
I'm not sure what you mean. img1 is an array that is the same thing as before you called adapthisteq(img1). MATLAB is pass by value so there is no way that adapthisteq() changes img1 at all. Also, the output of adapthisteq is the same type as img1. If your img1 was uint8 than adapthisteq() will return a uint8 image - just try the example and prove it to yourself. So you are not describing your situation correctly. Perhaps if you provide your actual code and do a better job of explaining...
1 个评论
Image Analyst
2013-1-23
Regarding your "Answer", you can mask an image like this without converting to double:
% Mask the image.
maskedRgbImage = bsxfun(@times, rgbImage, cast(mask,class(rgbImage)));
rgbImage can be a gray scale image also.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Read, Write, and Modify Image 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!