Mouse control in GUI and contrast button access

1 次查看(过去 30 天)
Hi all, I'm designing a GUI (2011a) and have a few things I'm trying to sort out
I've got a stack of mediacl 2D images, and am trying to step through them by rolling the mouse wheel. I can already do this with a slider, but since the dataset is pretty large, the mouse wheel would be far better. Does anyone know how I might achieve this using the mouse wheel?
Also I'd like to be able to use the mouse-controlled contrast adjustment button available in "imtool" in my GUI. As I can create my own button on the file menu, does anyone know how I might have access to the button in my own GUI without launching imtool or using the imcontrast function?
Thanks Jim O' Doherty
  1 个评论
Camille Zimmer
Camille Zimmer 2012-5-8
移动:DGM 2023-2-20
Hello Jim, Did you ever figure this out? I am trying to do the exact same thing, to add a contrast tool to the toolbar? (Your second question). If you have any ideas, your help would be so appreciated! Thanks

请先登录,再进行评论。

回答(3 个)

Matt Fig
Matt Fig 2011-5-10
For the first question, have a look at the WindowScrollWheelFcn (and cousins) of the GUI figure.
For the second, set the menubar of your GUI to 'figure'. Then you can add your button (menu). (I am not sure I understand this question completely.)
  4 个评论
Sean de Wolski
Sean de Wolski 2011-5-10
Matt, imtool is kind of its own thing; I don't think it would be very easy to copy the relevant parts.
Matt Fig
Matt Fig 2011-5-10
I was afraid of that, but it was worth a try...

请先登录,再进行评论。


Sean de Wolski
Sean de Wolski 2011-5-10
  1. Scroll Wheel: no idea.
  2. The imtool contrast is basically just a histogram with adjustable upper and lower bounds. I think I would implement it with three sliders: one that controls the lower bound, one that controls the upper bound, and one that controls the scalar offset from zero (just like the red bars in imtool). The rescaling of the image based on the two bounds is easy, just algebra. I don't think there is any easy way around making you own adjustment tool and imtool isn't very friendly for interactions with code.
Good Luck!
  3 个评论
Eduardo Martins
Eduardo Martins 2018-9-13
编辑:Walter Roberson 2018-9-15
Hello, can you please provide the code for the contrast sliders? I am trying to do this using the code I used for brightness (changing to imcontrast), but it is not working. Thank you.
global im2
val = 0.01 * get(hObject, 'Value') - 0.1;
imbright = im2 + val;
axes(handles.axs_img);
imshow(imbright);

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2011-5-10
You can use imadjust for contrast control.
The function that imtool invokes to do the contrast work is the image toolbox private function imuitools/private/windowlevel.m

Community Treasure Hunt

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

Start Hunting!

Translated by