关于Matlab:opencv中sub2ind的等效功能

equivalent function of sub2ind in opencv

我在理解和将matlab代码转换为opencv时遇到了问题。我想知道sub2ind的等效功能是否与opencv中的matlab相同。或如何在opencv中实现此特定功能。

sub2ind函数的链接为

http://www.mathworks.in/help/techdoc/ref/sub2ind.html


一个简单的例子来说明。考虑:

1
2
3
4
5
6
7
8
9
>> v = (1:4*3)
v =
     1     2     3     4     5     6     7     8     9    10    11    12
>> M = reshape(v,[4 3])
M =
     1     5     9
     2     6    10
     3     7    11
     4     8    12

现在以下所有内容都是等效的:

1
2
3
4
5
6
sz = size(M);

i = 3; j = 2;
M(i,j)
v( sub2ind(sz,i,j) )
v( sz(1)*(j-1)+i )

请记住,MATLAB使用列优先顺序,而C使用行优先顺序