Extract values from image
조회 수: 1 (최근 30일)
이전 댓글 표시
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!!!
댓글 수: 0
채택된 답변
Fabio Freschi
2019년 10월 20일
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개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!