get data from an image of a graph

234 views (last 30 days)
matt
matt on 6 Oct 2014
Edited: Image Analyst on 25 Jan 2021
Dear all,
I have a JPEG image of a 2D graph. The graph is intensity vs wavelength. I need to find the peaks in this graph and record the intensity and wavelength. I already know how to find the peaks in a plot. Does anyone know how to take this image and convert it into a dataset?
Thanks in advance
  1 Comment
Guillaume
Guillaume on 6 Oct 2014
Finding the peaks of a dataset is easy. Digitising a picture of a graph is the hard bit. You may want to attach the image to your post so people have a better idea of what you're dealing with and can try things on their own.

Sign in to comment.

Answers (3)

Chad Greene
Chad Greene on 6 Oct 2014

Image Analyst
Image Analyst on 6 Oct 2014

ashda bibi
ashda bibi on 25 Jan 2021
  2 Comments
ashda bibi
ashda bibi on 25 Jan 2021
i need the codes of this graph.
Image Analyst
Image Analyst on 25 Jan 2021
Edited: Image Analyst on 25 Jan 2021
Can't you ask the person who generated the graph? It looks like they used bar(), plot(), legend(), xlabel(), ylabel() and title(). Here's a start:
fprintf('Beginning to run %s.m ...\n', mfilename);
data = 25 * rand(10, 2);
bar(data);
grid on;
hold on;
averageData = mean(data, 2);
% Plot red dashed lines.
plot(averageData, 'ro--', 'LineWidth', 2);
% Plot green markers.
plot(averageData, 'g.', 'MarkerSize', 20);
for k = 1 : length(averageData)
x = k;
y = averageData(k);
caption = sprintf( '%.1f', averageData(k));
text(x, y, caption, 'FontSize', 15, 'FontWeight', 'bold')
end
xlabel('Day', 'FontSize', 16);
ylabel('Degrees C', 'FontSize', 16);
title('Temperatures for the month of April for various locations', 'FontSize', 16);
legend('Dublin', 'Kilkenny', 'Average')
fprintf('Done running %s.m.\n', mfilename);

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!