복잡한 행렬의 역함을 수행하는 데 어려움이 있습니다. 내가 아는 한, 복잡한 행렬은 단순히 2 채널 행렬 (CV_32FC2/CV_64FC2)입니다.OpenCV에서 복소수 행렬에 역함수를 적용하는 방법은 무엇입니까?
의 내가 매트릭스 C 있다고 가정 해 봅시다 :
이OpenCV Error: Assertion failed (type == CV_32F || type == CV_64F) in invert
인버트 기능은 그레이 스케일로드 이미지와 잘 작동 (: 나는 반전 기능을 수행 한 후
Mat C(2, 2, CV_64FC2);
C.at<Vec2d>(0,0)[0] = 1;
C.at<Vec2d>(0,0)[1] = 1;
C.at<Vec2d>(0,1)[0] = 3;
C.at<Vec2d>(0,1)[1] = 4;
C.at<Vec2d>(1,0)[0] = 2;
C.at<Vec2d>(1,0)[1] = -1;
C.at<Vec2d>(1,1)[0] = 5;
C.at<Vec2d>(1,1)[1] = 2;
Mat InverseMat;
invert(C, InverseMat, DECOMP_SVD);
, 나는이 오류가 계속를 1 채널),하지만 난 진짜와 허수 부분을 포함하는 복잡한 매트릭스에 역수를 할 힘든 시간이 있습니다.
누군가 복잡한 행렬의 역함수를 풀 수있는 방법을 알려주시겠습니까? DECOMP_SVD 방법을 사용하는 것이 바람직합니다. 왜냐하면 단일 채널 이미지로 시도했을 때 DECOMP_LU 또는 DECOMP_CHOLESKY 메서드를 사용하여 원하는 결과를 얻을 수 없기 때문일 수 있습니다. 이는 단수의 행렬 문제 때문일 수 있습니다. 감사.
덕분에 친구를, 당신은 나의 날까지했다. 위의 행렬에 적용됩니다. 나는 이미지로 프로그램을 시도했고 성공적으로 실행되었다. 이미지를 더 자세히 분석해야하므로 다음 단계로 진행할 수 있습니다. 다시 한 번 감사드립니다! – user2223228