opencvで行列を反転しようとしています。ビルドエラーはありませんが、未知の関数、ファイル.. \ .. \ .. \ .. \ ocv \ opencv \ modules \ core \ src \ lapack.cppにはサポートされていないフォーマットやフォーマットの組み合わせ()私が間違っていることを理解するのにあまり役立たない1469行目。 私は次のコードを使用しています:代わりに、INVのopencvで行列を反転するためにinvert()またはinv()を使用しているときにランタイムエラーが発生する
Mat centerPointsMat = Mat(5, 3, CV_32SC2);
Mat centerPointsMatInv = Mat(5, 3, CV_32SC2);
for(int i=0; i<5; i++)
{
Point p1=Point(0,i);
centerPointsMat.at<float>(p1) = ((CvPoint*)CV_GET_SEQ_ELEM(CvPoint,centerPointsSeq,i))->x^2;
Point p2=Point(1,i);
centerPointsMat.at<float>(p2) = ((CvPoint*)CV_GET_SEQ_ELEM(CvPoint,centerPointsSeq,i))->x;
Point p3=Point(2,i);
centerPointsMat.at<float>(p3) = 1;
}
centerPointsMatInv = centerPointsMat.inv(1);
同じ使用して反転は、()()と同じ結果を生成します。
私には何が欠けていますか?
ありがとうございました。
逆行列は反転することができますが、ほとんどの場合は逆もありません(反転は数値的には非常に不安定であることが多いため、理論的には動作しなくても、 tは非常に正確です)。 –
浮動小数点または二重の正方行列が必要 – Sam
おかげでvasile!CV_32SC2をCV_32FC1に変更することで解決されたようです。 –