【发布时间】:2011-07-15 05:29:07
【问题描述】:
我遇到了一个(mathematica 8.0.1.0-)我自己无法解决的问题。 我在矩阵中有测量数据,我想选择其中一些,然后将它们相加。
为了更好地解释我的问题,这里有一个简单的例子。数据可以由矩阵S产生:
S = Table[ -Sin[i/2] - Sin[j/2], {i,20}, {j,20}];
它们可以很好地绘制:
xmin = N[Min[S]];
xmax = N[Max[S]];
mycolorfun = Function[ Blend[{Blue,Cyan,Green,Yellow,Red},#] ];
和
MatrixPlot[S, PlotRange -> {All,All,All}, AspectRatio -> 1/1,
ColorFunction -> (mycolorfun[ Rescale[ #1{xmin,xmax} ] ]&),
ColorFunctionScaling -> False, MaxPlotPoints -> Automatic,
FrameLabel -> {y,x} ]
那么应该会得到一张和这张类似的图片:
现在我想选择棕色绘制的多边形内的数据。这些数据应该在最后加起来。
我该怎么做?
好的,我可以使用矩形并通过选择/猜测良好的开始和结束索引来构建子矩阵。然后我只需要建立这个子矩阵的总和。但我更喜欢多边形(如果我们不争论与多边形线相交的矩阵值的小问题,则更准确)。如果我可以通过将多边形“绘制”到矩阵中直接选择我的感兴趣区域 (ROI),我会很高兴(不再费时选择/猜测矩阵索引)。
有人可以帮我解决我的问题吗?如果用mathematica 无法解决,是否有其他程序可以使用?
如果能得到一些帮助和提示,我会很高兴的!
【问题讨论】:
-
请注意,代码块前面需要一个空行,所以我为您修复了它。我还稍微重新格式化了代码,并将链接隐藏在可点击文本后面以提高可读性。
-
感谢您编辑我的问题!由于我是新来的,所以我自己编辑时遇到了一些问题。下次我会努力让它变得更好。
-
没问题。你的新人在这里,布置你的问题/答案需要练习。
-
感谢@belisarius 和@rcollyer 编辑我的文字。很高兴看到我的照片现在直接在我的帖子中。这样更容易理解!
标签: image-processing wolfram-mathematica