Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Row and Col problem when Mat represents 3d point cloud

The row and col of a Mat to represent 3d point cloud in OpenCV is N * 3, N is the number of the points and 3 is the x, y, z coordinate respectively. For example, when I use method loadPLYSimple to load data from PLY file I will get N * 3 Mat, when I use the Flann KDTREE, I need to pass N * 3 Mat as the parameter... But the problem is when we try to perform a transformation on the data, it should be like transformation Mat * points Mat. If we have a 3 * 3 rotation Mat R, and the points Mat pc, the common way is just R * pc. However, pc is N * 3, so we need to do some extra transpose work. I'm not familiar with OpenCV, I just want to know if there is any better way to do that instead of doing the transpose work each time? Or maybe there is something which I do not understand hidden behind?Thanks.

Row and Col problem when Mat represents 3d point cloud

The row and col of a Mat to represent 3d point cloud in OpenCV is N * 3, N is the number of the points in the cloud and 3 is the x, y, z coordinate respectively. For example, when I use method loadPLYSimple to load data from PLY file I will get N * 3 Mat, when I use the Flann KDTREE, I need to pass N * 3 Mat as the parameter... parameter... But the problem is that when we I try to perform a transformation on the data, it should be like transformation Mat * points Mat. such as rotation. If we have a 3 * 3 rotation Mat R, and the points Mat pc, pc N * 3, the common way is just R * pc. However, pc is N * 3, so we need to do some extra transpose work. work. I'm not familiar with OpenCV, I just want to know if there is any better way to do that instead of doing the transpose work each time? Or maybe there is something which I do not understand hidden behind?Thanks.