View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

4.8 | 9 ratings Rate this file 20 Downloads (last 30 days) File Size: 644 KB File ID: #13000 Version:
image thumbnail



Jiro Doke (view profile)


14 Nov 2006 (Updated )

A GUI for viewing and interactively exploring image files.

Editor's Notes:

This file was selected as MATLAB Central Pick of the Week

| Watch this File

File Information

IMAGEVIEWER Interactively pan and zoom images on the computer.
IMAGEVIEWER starts a GUI for opening image files and interactive panning and zooming.

IMAGEVIEWER(DIRNAME) starts the GUI with DIRNAME as the initial directory.

The GUI allows you to navigate through your computer and quickly view image files. It also allows you to interactively explore your images by panning (clicking and drag), zooming (right-click and drag), and centering view (double-clicking).

This is implemented using MATLAB Classes. It requires MATLAB R2008a or newer.


This file inspired Microscopy Image Browser (Mib).

MATLAB release MATLAB 8.0 (R2012b)
Other requirements Created in R20012a, but it should work in R2008a or later.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (16)
20 May 2015 Ilya Belevich

11 Feb 2014 Liwei

Liwei (view profile)

Excellent tool. It works for my Matlab 2013a WIN64 BIT. I have a question: I want to add displaying the boundingboc and detected areas on the image. Can this be compiled as a matlab standalone application?


Comment only
20 Nov 2013 Jeff

Jeff (view profile)

Attempted to install APP and run in MATLAB Version (R2013a)...

GUI starts up and allows a directory selection, but causes MATLAB to crash non-gracefully shortly after the list of files is populated.

Has anyone else experienced this behavior and is there a preventative fix?


Comment only
11 Jul 2013 Gilles

Gilles (view profile)

In order to use interactive pan and zoom with the matlab preview fcn of live video data, I added the Update Preview Function. Each time preview receives a video frame, it calls the update preview window function that I specified, which can process the data before displaying (see this example :

However, this example uses the setappdata function to configure this application-defined data to a function handle to the update preview window function. I don't know how I define the arguments (using matlab classes) of the update preview window function because it passes an Event Attribute.

Comment only
10 Jul 2013 Gilles

Gilles (view profile)

Thank you ! ImageViewer is an excellent GUI implemented using matlab classes !
I try to use interactive panning and zooming with the matlab preview fcn of live video data.
I coded that :

% --- Executes on button press in Preview.
function PreviewFcn(varargin)
camobj = obj.camobj;
vidRes = get(camobj, 'VideoResolution');

imWidth = vidRes(1);
imHeight = vidRes(2);
nBands = get(camobj, 'NumberOfBands');

% create an empty image container and show it on axPreview
iH = image(zeros(imHeight,imWidth, nBands), 'parent', obj.handles.ImageAxes);
preview(camobj, iH);

Zoom seems to work on live video data, but pan doesn't work.
Could you help me?

Comment only
10 Jul 2013 Gilles

Gilles (view profile)

10 Jul 2013 Gilles

Gilles (view profile)

12 Sep 2012 mhmmrm

mhmmrm (view profile)

not so much handy enough,try to add some extra features.:D

28 Jun 2008 Jiro Doke

Tim Tam,
I didn't code it so that you can extract the selected file name through the handles. Also, I made the GUI "HanldeVisibiltiy" to "off" on purpose so that it can't be accessed from the Command Window. That's why "gcf" and "gca" doesn't see it.

If you need to access the inner workings, I suggest you take a look inside the m-code. When I create the initial figure, I set the "HandleVisibility". You can change that to "on". Also, there's a place in the code that I extract the file name from the list box.

Comment only
14 Jun 2008 Tim Tam

How can one retrieve the name of the image file that the user has selected ?
I've tried returning then querying various handles, but can't get any approach to work.
Also gcf and gca don't seem to work with the viewer - when issued they create new figures / axes.

Comment only
16 Feb 2007 Edward Chao

Excellent examples of using the object callbacks (ButtonDownFcn, WindowButtonMotionFcn, WindowButtonUpFcn) for panning and zooming. I was looking for some good examples for a long time. Thank you very much!

17 Jan 2007 Martin Fon

This is a very good job. Could it be used for cropping?

26 Nov 2006 Tamir Suliman

Thats a very nice job great

22 Nov 2006 Luis Nieto

Excellent job, works fine in R14 too.

17 Nov 2006 Christian Schultes

It works very well with R14SP1 - I am very impressed. Thank you!
Very soon I do need only Matlab - when is the Office tool available to replace Word?

15 Nov 2006 Jiro Doke

The program currently does not work on certain images. A new version will be posted in the next couple of days. Thanks.

Comment only
15 Nov 2006

It actually works in R14 or later.

16 Nov 2006

Bug fixes. Make sure it works with various image types.

17 Nov 2006

Bug fix for image centering feature. Also allow the window to be resized (without distortion of components)

07 Jan 2010 1.1

Copyright update. Added scroll wheel zoom.

10 Sep 2012 1.2

Implemented in MATLAB Classes

12 Sep 2012 1.3

Updated to include an App file for R2012b

01 Sep 2016

Updated license

Contact us