View License

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

» Watch video

Highlights from

4.7 | 6 ratings Rate this file 29 Downloads (last 30 days) File Size: 7.9 KB File ID: #4316 Version: 1.1
image thumbnail




30 Dec 2003 (Updated )

To create a new plot from a scanned image file

| Watch this File

File Information

This function opens an image file containing a plot. Then the origin, maximum X and Y axis, and data points can be manually and automatically selected to obtain a new vectorial plot (the animated screenshot shows the menus included).

Using Image Processing Toolbox to open idexed and gray images (functions ind2rgb, gray2rgb).

More functions at

Required Products Image Processing Toolbox
MATLAB release MATLAB 6.5 (R13)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (11)
02 Jun 2012 Anna

Anna (view profile)

Great code!

Comment only
15 Dec 2011 David Abraham

Just tried it out and it works simply and well. I like software that doesn't require any reading of manuals, and the results are great. Thanks!

Comment only
03 Jun 2010 Enrico

Enrico (view profile)

Bug "Delete an area of the curve...:
I think all is needed to correct it is to change line 420 with
rbbox %(no arguments)

Comment only
03 Jun 2010 Enrico

Enrico (view profile)

Comparing with GRABIT

-Zooming the figure is not possible in reverseplot;
-reverseplot doesn't mark the datapoints manually pointed at, while marking them one by one, only at the end;
-reverseplot does not offer to delete the last point erroneously pointed (could e.g. be bound to Backspace)

-GRABIT misses the automatic curve detection;

Besides, I just realized that in reverseplot "Delete an area of the curve..." has a bug (the selection rectangle is misplaced)

Anyway, both pieces of software are nice and useful.

Comment only
03 Jun 2010 Enrico

Enrico (view profile)

I see no reason why png should not be supported. To that extent, it is sufficient to change lines 84-90 with:

[filename, pathname] = uigetfile( ...
{'*.jpg;*.jpeg;*.gif;*.bmp;*.tif;*.png','All suported formats'
'*.jpg;*.jpeg','JPEG (*.jpg;*.jpeg)'; ...
'*.gif','Gif (*.gif)'; '*.png','PNG (*.png)'; ...
'*.bmp','Bitmap (*.bmp)'; ...
'*.tif','TIFF (*.tif)'}, ...
'Open scanned image...');

Comment only
16 Jul 2009 Enrico

Enrico (view profile)

Coooooool. I've found a basic bug, though. In function loaddata, lines 98-100,
info = imfinfo([lower(pathname) lower(filename)]);
[a,map] = imread([lower(pathname) lower(filename)]);
is plainly wrong on a case-sensitive OS like unix, and files with uppercase pathnames won't load. Removing all lower() solves the problem.

16 Mar 2009 dewi

dewi (view profile)

Really useful for me.....

27 Aug 2007 sono fera

I wonder if it's could work on a plot-with-marker like seismic plot.

27 Feb 2006 Dick Beresford

A very neat bit of code that provides a useful function. Deals with log as well as linear axes. Would be even more useful if it could return the coordinates as data values in the MATLAB workspace.

29 Nov 2004 R J

This is super handy

08 Jan 2004 Alberto Zin

Really useful !

28 Oct 2005

New options added in the menus:
-Automatic line selection.
-Line manipulation.

22 Feb 2011 1.1

This update has automatic data points selection and manipulation, zooming, escaling, etc (see the animated screenshot).

Contact us