pinv() example이 발견되어 성공적으로 실행되었습니다.opencv matrix Pseudo Inverse가 실패했습니다.
하지만 내 버전은 실패
Mat1b B = Mat(400, 10, CV_32FC1);
for (r = 0; r < 20; r++)
{
for (c = 0; c < 20; c++)
{
B(n,0) = 1;
B(n,1) = r;
B(n,2) = c;
B(n,3) = r*r;
B(n,4) = c*r;
B(n,5) = c*c;
B(n,6) = r*r*r;
B(n,7) = c*r*r;
B(n,8) = c*c*r;
B(n,9) = c*c*c;
n = n + 1;
}
}
Mat1b Bpinv = Mat(10, 400, CV_32FC1);
invert(B, Bpinv, DECOMP_SVD);
invert
의 오류는 다음과 같습니다
Error message like this:OpenCV Error: Assertion failed (type == CV_32F || type == CV_64F) in cv::invert.
일부 충돌이 CV_32F
및 CV_64F
사이에 일어나는 것처럼 보이는,하지만 난 전혀 CV_64F
형식을 사용하지 않은 . 어떻게 그럴 수 있죠?
지금 이해합니다. OpenCV의 형식에 대해 더 자세히 알아야합니다. –