imcontrast for RGB images.

3 次查看(过去 30 天)
John
John 2016-4-13
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.

回答(2 个)

Image Analyst
Image Analyst 2016-4-13
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 2018-9-13
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!

Translated by