У меня есть вопрос, который может быть для новичков.
Я хочу умножить матрицу 20x2 на матрицу 2x2 в C ++.
Я пробовал это с openCV, но получаю сообщение об ошибке
Неверный аргумент (неизвестный тип массива) в cvarrToMat
Вот код, который я использовал в openCV, чтобы проверить, возникла ли проблема с моим код или проблема в openCV, но он все еще не работает, я могу скомпилировать без ошибки, но когда я тестирую код, я получаю проблему «Плохой аргумент (неизвестный тип массива) в cvarrToMat»
#include <stdio.h>
#include <stdlib.h>
//#include "/usr/include/opencv/cv.h"
#include <cv.h>
#include <cvaux.h>
#include <highgui.h>
#include <math.h>
#include <iostream>
int main()
{
double a[] = {1, 2, 3, 4};
CvMat Ma;
cvInitMatHeader(&Ma, 2, 2, CV_32FC1, a);
double b[] ={0, -1, 1, 0};
CvMat Mb;
cvInitMatHeader(&Mb, 2, 2, CV_32FC1, b);
CvMat Mc;
CvMat Mc1;
cvMatMul(&Ma, &Mb, &Mc);
return 0;
}