3 チャネルの画像でヒストグラム逆投影を実行しようとすると、次のエラーが発生します。
OpenCV エラー: histPrepareImages、ファイル ../modules/imgproc/src/histogram.cpp、行 148 でアサーションが失敗しました (j < nimages)
失敗するコード:
cv::Mat _refImage; //contains reference image of type CV_8UC3
cv::Mat output; //contains image data of type CV_8UC3
int histSize[] = {16, 16, 16};
int channels[] = {0, 1, 2};
const float hRange[] = {0.f, 256.f};
const float* ranges[] = {hRange, hRange, hRange};
int nChannels = 3;
cv::Mat hist;
cv::calcHist(&_refImage, 1, channels, cv::noArray(), hist, nChannels, histSize, ranges);
cv::calcBackProject(&output, 1, channels, hist, output, ranges); //This line causes assertion failure
単一チャネルのイメージでほぼ同じコードを実行すると機能します。ドキュメントによると、マルチチャンネル画像もサポートされています。このコードが機能しないのはなぜですか?