假设有10个三维的点,使用数组存放它们有四种常见的形式:
①一个二维数组,数组的类型是CV32FC1,有n行,3列(n×3)
②类似①,也可以用一个3行n列(3×n)的二维数组
③④用一个n行1列(n×1)的数组或者1行n列(1×n)的数组,数组的类型是CV32FC3
四种形式的内存布局如下图:
《学习OpenCV》中给出的计算给定点的公式如下:
说明:
其中row col channel分别表示行号 列号 和通道号:
这些都已从0开始计算,具体如下:
通道号channel=所在的维数(X或Y或Z)
______________________________________
其中Ncols 和 Nchannels 分别表示列数和通道数,
通道总数可以从变量类型获得,列总数是预先定义的,在上面四个图片的标题中也可以得到
理解:
无论哪一种存储形式,使用这个公式都能得到正确的结果,不过称作求给定点坐标分量的公式更合适.