Extract data from .PNG file

Hi all,
I have an x,y,z plot saved as a .PNG file. I want to extract the data from the x, y and z axes. Preferably in matrix form. Any tips?

Answers (2)

Sebastian Castro
Sebastian Castro on 17 Aug 2015
I'd recommend using the Data Theif (yes, they misspelled it too) entry in the File Exchange. It lets you click on an image to calibrate its dimensions and extract X-Y data points.
... Now, I'm not sure if that works for 3-D since an image is 2-D, but that would be true of almost any image processing algorithm as well (unless you have multiple images or depth data).
Was that JPG image saved from MATLAB? If possible, it would make things a lot easier if whoever generated that figure saved it as a .fig file instead. Then, you could load it into MATLAB and get the exact point locations.
- Sebastian

3 Comments

hi, thanks for the recommendation. My original file is .png and I tried converting it to a .fig online. After uploading it to the Data Theif, I got the following message. What can I do to fix this?
Thank you!
According to the error message, it expects a .mat file, not a .fig file. Try saving your image array into a .mat file instead.
.fig files are mat files, and it did in fact try to read it as a binary mat file.
The problem must be with the way the .fig was created.

Sign in to comment.

Image Analyst
Image Analyst on 17 Aug 2015

3 Comments

It does not work
Yes, does not allow to export data. Don't waste time with it, just a click bait.
Run it as a function; the digitized data will be returned.

Sign in to comment.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Asked:

on 17 Aug 2015

Commented:

on 27 Apr 2020

Community Treasure Hunt

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

Start Hunting!