OpenCVでの行列の掛け算の注意点
OpenCVの行列は、基本クラスのcv::Matと、それを継承した小クラスのcv::Mat_があります。前者はインスタンス生成時に型指定が出来ません。後者は、cv::Mat_
詳細はおっかけていないので結果論ですが、行列の掛け算をするとき、
cv::Mat a, b; cv::Mat c = a * b
だとアサーションが発生します。そのため、行列の掛け算をする時は、
cv::Mat_<float> a, b; cv::Mat_<float> c = a * b
のようにしましょう。ただし、データ型としてucharは使えませんでした。コンパイルは通るのですが、結局アサーションが発生しました。