#c #opencv
#c #opencv
Вопрос:
У меня есть матрица вращения 3 на 3, созданная с помощью заголовка cvCreateMat(3, 3, CV_32FC1)
. Это матрица, которую я получаю при вызове cvRodrigues2. Я хочу повернуть несколько точек, хранящихся в массиве длиной N, с 3 каналами. Для выполнения этого поворота я вызываю cvMul(rotation, points)
, но для этого требуется, чтобы матрица поворота была массивом. Поэтому мне нужно преобразовать его в cvCreateMat(3, 1, CV_32FC3)
. Есть ли какой-либо способ сделать это в OpenCV (на C, если это имеет какое-либо значение).
Ответ №1:
Используя cvReshape (ссылка на документацию). Второй пример очень похож на то, что вы хотите (вам просто нужно адаптировать количество строк и каналов).