get data from an image of a graph

46 visualizzazioni (ultimi 30 giorni)
matt
matt il 6 Ott 2014
Modificato: Image Analyst il 25 Gen 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 Commento
Guillaume
Guillaume il 6 Ott 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.

Accedi per commentare.

Risposte (3)

Chad Greene
Chad Greene il 6 Ott 2014

Image Analyst
Image Analyst il 6 Ott 2014

ashda bibi
ashda bibi il 25 Gen 2021
  2 Commenti
ashda bibi
ashda bibi il 25 Gen 2021
i need the codes of this graph.
Image Analyst
Image Analyst il 25 Gen 2021
Modificato: Image Analyst il 25 Gen 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);

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by