質問: _templ.type() && _img.dims() <= 2 in function 'cv::matchTemplate'】**とのことです。 テンプレートマッチングのソース画像は、inRange()で取得した、2値のマスクMat型イメージで、 テンプレートとなる画像はcv::imread()で読み込んだ画像で白黒のbmp画像です。第2引数のflagは1を指定。 あと、cv::imread()で読んだ画像はプロパティで見ると24bitBMPとなっています。 2つのMatの.depth()を確認すると両方共0(=CV_8U)で一致しています。 この状況は、テンプレートマッチングを正しく行う条件が揃っているのでは?にもかかわらず例外が発生します。謎すぎ convertTo()でCV_32Fに変換しても症状は同じまま。お手上げですね、解決策の助言をお願いいたします。
回答: Assert Error が意味していることは、 * 入力画像とテンプレート画像の type() が一致している。mat.type() == template.type() * 型が CV_8U または CV_32F * 配列の次元数が2以下 mat.dims <= 2 どれかの assert に失敗しています。 depth() の一致はチェックされたようですが、チャンネル数が一致していることも確認してみてください。