プログラムについて。
プログラムについて。
現在類似画像検索についてのプログラムをOpenCvを用いて作っています。RGBのヒストグラムを作り、それを比較することで類似度を表そうとしているのですが、以下のプログラムに一番外側のfor文を追加するとエラーが起こり止ってしまいます。
for( k=1 ; k < 4 ; k++ ){ ←これがエラーの原因
for (i = 0; i < sch; i++) {
dst_img2[i] = cvCreateImage (cvSize (src_img[k]->width,src_img[k]->height), src_img[k]->depth, 1);
}
cvSplit (src_img[k], dst_img2[0], dst_img2[1], dst_img2[2], dst_img2[3]);
// ヒストグラムを計算,正規化して,距離を求める
for (i = 0; i < sch; i++) {
cvCalcHist (&dst_img1[i], hist1, 0, NULL);
cvCalcHist (&dst_img2[i], hist2, 0, NULL);
cvNormalizeHist (hist1, 10000);
cvNormalizeHist (hist2, 10000);
tmp = cvCompareHist (hist1, hist2, CV_COMP_BHATTACHARYYA);
dist += tmp * tmp;
}
dist = sqrt (dist);
}
ちなみにdistには、2つの画像のヒストグラムがどれだけ離れているかという距離が入ります。わかりずらいプログラムで申し訳ありませんが是非分かる方がいらっしゃったら回答お願いします。