2016-11-14 47 views
0

我正在编写无环几何图像变换的代码,使用meshgrid进行双线性插值。我试图达到的是这样的最后一步:如何使用2D矩阵行作为索引和函数参数?

image(column1 of A , column2 of A)=func (rows of nx3 matrix B as arg); 

假设A = [1 2; 3 4; 5 6]和B = [1 1 1; 2 3 1; 4 5 1]因此应该发生:

image (1,2)=func ([1 1 1]); 
image (3,4)=func ([2 3 1]); 
image (5,6)=func ([4 5 1]); 

没有使用任何循环。建议将不胜感激。

+2

你为什么不改变功能?像'image = func(A,B)'? – obchardon

+2

你应该重构你的代码,使得'func'接受'image','A'和整个'B',并输出修改后的图像。如果你坚持在每一行分别调用'func',我就不会看到它是如何在没有隐式(即arrayfun)或显式循环的情况下完成的。无论如何,你应该提供一个[mcve] - 请包括一个示例'image'(输入和输出)。我怀疑你的'func'可以是矢量化的,但你的问题太抽象了,不能真正说明。 –

回答

0

如果该功能被矢量,简单地说:

image(sub2ind(SizeofImage,A))=func(B);