私は OpenCV マトリックスと表示機能をテストしていて、このバグがありました。それを明らかにするのに半日以上かかりました:
私はもともと、CvMatやMatなど、マトリックスの種類に関係なく、OpenCVマトリックスを表示しようとしました...私の別の投稿のvasile氏が推奨する表示方法でマルチチャネルMat表示機能
表示メソッドは、単純に行列のすべてのデータを取得してストリームを出力します
これは私のプログラムです:
// First: CV_32FC3 works OK
float objpts[12] = {0, 105, 105, 0, 0, 0, 105, 105, 0, 0, 0, 0};
CvMat objptsmat = cvMat( 1, 4, CV_32FC3, objpts);
CvMat* objectPoints = &objptsmat;
CvMatShow(objectPoints);
getchar();
出力:
// Second: CV_64FC3 crashes
float objpts[12] = {0, 105, 105, 0, 0, 0, 105, 105, 0, 0, 0, 0};
CvMat objptsmat = cvMat( 1, 4, CV_64FC3, objpts);
CvMat* objectPoints = &objptsmat;
CvMatShow(objectPoints);
getchar();
出力:
それらは両方とも同じでなければなりません。右??!!