Extract values from image

2 views (last 30 days)
René Dienemann
René Dienemann on 19 Oct 2019
Commented: René Dienemann on 24 Oct 2019
Hi,
I've got some data from a magnetic measurement on a surface.
I've plotted these data (see the attached pic). Is there a possibillity to get or extract values from this plot.
I need all values of the picture along the red line.
Many thanks for your help and best regards!!!

Accepted Answer

Fabio Freschi
Fabio Freschi on 20 Oct 2019
I assume you have X,Y and B as created using meshgrid, and the line is specified by start/end node
% create dummy data
x = linspace(-10,30,200);
y = linspace(0,50,200);
[X,Y] = meshgrid(x,y);
% magnetic flux density
B = sin(X/2)+cos(Y/5);
% plot
figure, hold on
contourf(X,Y,B);
% line (start: first row, end: last row)
P0 = [5 35; 15 40];
% plot
plot(P0(:,1),P0(:,2),'ro-','LineWidth',2);
% evaluation points (parametric line with t in [0,1])
t = linspace(0,1,20);
P = P0(1,:)+bsxfun(@times,t(:),(P0(2,:)-P(1,:)));
plot(P(:,1),P(:,2),'*')
% use interp2 for interpolation
BLine = interp2(X,Y,H,P(:,1),P(:,2));
% plot field along the line
figure
plot(t,BLine);
  1 Comment
René Dienemann
René Dienemann on 24 Oct 2019
Many Thanks!!! Thats what i was looking for.

Sign in to comment.

More Answers (1)

Categories

Find more on Measurements and Feature Extraction in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!