0

私は OpenCV の初心者であり、OpenCV を使用した最初の大きなプログラムをほぼ完成させようとしています。実際、厄介な例外が発生していなければ、そうなるでしょう。ここにあります: OpenCV エラー: 不正なフラグ (パラメーターまたは構造体フィールド) (認識されないかサポートされていない配列型) が不明な関数、ファイル ........\ocv\opencv\src\cxcore\cxarr ay.cpp、 2476 行 目 例外が発生する行は次のとおりです。 cvMatMul(&matIntrinsec, &matExtrinsec, &result); 乗算されるこれらの 3 つのマトリックスが何であるかをトピックが知ることも重要かもしれません:

基本的に、matIntrinsec と matExtrinsec の場合、ファイルから値を読み取ります。これは正常に機能しており、既にテスト済みです。値を 2 次元配列に入れ、CvMat 関数を使用して行列を作成します。

cvInitMatHeader(&matIntrinsec, 3, 3,CV_64FC1 , this->intrinsecos);

cvInitMatHeader(&matExtrinsec, 3, 3,CV_64FC1 , this->extrinsecos);

「結果」パラメーターに関しては、基本的に、乗算から結果を受け取るためのユニット化された CvMat 変数です。

CvMat 結果;

質問がばかげている場合は、申し訳ありません。しかし、私を助けてください!

4

1 に答える 1

0

OpenCV の C API を使用する場合、「宛先」パラメーターを関数に手動で初期化する必要があります。出力のサイズがわかっているので、 で簡単に行うことができますcvCreateMat()。または、C++ API に切り替えることもできます。C++ API では、関数が自動的に宛先行列を関数に割り当てますcv::Mat::create()

于 2010-10-30T15:58:56.163 に答える