imcontrast for RGB images.

2 views (last 30 days)
John
John on 13 Apr 2016
Answered: Eduardo Martins on 13 Sep 2018
I've made a GUI for some image analysis with a range (dual-knob) slider for user to adjust image contrast (by changing 'CLim' of image in handles.axes, just like what imcontrast function does). This works perfect for grayscale images but not for color RGB images. I know I can extract the individual RGB channels to change their contrast individually but I want user to able to change contrast while they can still view colored image change instantaneously. Is there an easy way around this problem? Thanks.

Answers (2)

Image Analyst
Image Analyst on 13 Apr 2016
I don't know of anyway to do it in real-time. There are slower methods though that involve converting to a different color space and using imadjust() on just the intensity channel, then reversing the transform.

Eduardo Martins
Eduardo Martins on 13 Sep 2018
I used this code for brightness in real time, bur for contrast it is not working.
global im2
val = 0.01 * get(hObject, 'Value') - 0.1; imbright = im2 + val; axes(handles.axs_img); imshow(imbright);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!