【发布时间】:2018-05-04 10:37:55
【问题描述】:
我已经设法获得了轮廓的线(或边缘),所以我有每条线的限制:
我想要的是对第二个图中外蓝线内的轮廓 z 轴上的所有级别求和,以将其与蓝线外的值的总和进行比较。有没有办法做到这一点?我到目前为止的代码是:
C = contourc(f, t, abs(tfr));
%extracts info from contour
sz = size(C,2); % Size of the contour matrix c
ii = 1; % Index to keep track of current location
jj = 1; % Counter to keep track of # of contour lines
while ii < sz % While we haven't exhausted the array
n = C(2,ii); % How many points in this contour?
s(jj).v = C(1,ii); % Value of the contour
s(jj).x = C(1,ii+1:ii+n); % X coordinates
s(jj).y = C(2,ii+1:ii+n); % Y coordinates
ii = ii + n + 1; % Skip ahead to next contour line
jj = jj + 1; % Increment number of contours
end
【问题讨论】:
-
轮廓的总和是什么意思?如果线条在 1,2 和 3 中,你想要 6?或者你想考虑这个地区?还是轮廓本身的长度?我问,因为您可能会尝试做所有可能的事情,我很确定有一个更简单的解决方案。您需要先解释一下才能从中选择
-
我的意思是,对于第 1 行(第二张图像的轮廓的外部部分),我想要“以周长为单位”的每个值的总和。轮廓显示了一座“山”,我想将构成这座山的值的总和与底层进行比较。
-
我不明白。如果是等高线,则周长中的所有值都相同,因为它是等高线的定义,即域中所有值都相同的线。
-
我是否认为您想要所有元素的总和 inside 等高线(不在等高线上)?这就是我下面的答案。
-
没错,EdR,这正是我想做的!非常感谢!