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)

Products

Community Treasure Hunt

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

Start Hunting!