我现在不得不使用 MATLAB 进行图像处理。但我对 MATLAB 几乎一无所知,这可能是我唯一一次使用 MATLAB(我希望如此)。所以我想得到你的帮助。这是我到目前为止所做的:
我成功地从 .trk 文件中读取了数据并解析了它的标题和正文。现在我必须应用插值。在此之前,这里是关于我的变量的信息:
我有tracks <1x110470 struct>
。在轨道结构下,我有两个向量。它们是nPoints
和matrix
。nPoints
包括向量中存在的点数matrix
。
例如,如果我选择轨道(1,95607),nPoints=3 和 matrix={(1.2323,1.4441,2.345),(2.333,4.555,4.123),(1.22,2.33,3.44)}
nPoints 不是一个固定的数字。它甚至可以是 100 等等。但是矩阵是一个nPoints*3
向量。我总是有3个坐标。
现在我要做的是一个基本的插值,比如取一半的边界并添加新的点。让我假设,在轨道(1,2)下我有三个点 a,b,c,d 然后我需要添加点 (a+b)/2 和 (b+c)/2 和 (c+d)/ 2.
首先,我什至无法编写一个成功的算法来做到这一点。请你帮助我好吗?(插值将应用于所有轨道。但我不会在轨道(1,1)和轨道(1,2)之间进行任何插值,我只会将它应用于轨道内的点,而且轨道中的点是未排序。)
其次,我想知道的是:是否有可能拥有一种进行参数化插值的算法。我的意思是:
假设我的观点是:a,b
如果参数=1,那么我只想添加 (a+b)/2
如果参数=2,那么除了参数=1时的参数外,我还希望有 (a+(a+b)/2)/2 和 ((a+b)/2)+b)/2
.. .. ..
我希望它像那样迭代。可能吗?
我编码已经好几个小时了,现在我开始筋疲力尽了。我将非常感谢您的帮助。
亲切的问候,艾玛迪斯