私は実際openCV3.0に問題があります。 1つの画像に12のガボールフィルタ(12種類の向き)を使用し、それらを保管しました。 ここでは、これらの画像をすべて追加し、それぞれの値を12で除算して12個のフィルタの平均を求めたいとします。 これらの画像はRGBであるため、各チャンネルを別々に処理する必要があります。 問題がある:私はすべての値を追加する場合、すべての値が0と1フロートを追加するopenCV3.0
盗聴コードの一部との間にあるが、私は> 12値を得る:
for (i = 0; i < gaborV.size(); ++i) { //gaborV contain the 12 gabor filters
std::vector<cv::Mat> vec_split; //I split because of the 3 channels
cv::split(gaborV[i], vec_split);
for (int k = 0; k < imgCol.rows; ++k) {
for (int j = 0; j < imgCol.cols; ++j) {
if (k == 1 && j == 1)
std::cout << mat_X.at<float>(k, j) << " " << vec_split[0].at<float>(k, j) << std::endl;
mat_X.at<float>(k, j) += vec_split[0].at<float>(k, j);
mat_Y.at<float>(k, j) += vec_split[1].at<float>(k, j);
mat_Z.at<float>(k, j) += vec_split[2].at<float>(k, j);
}
}
}
とmat_X、mat_Y及び mat_X = mat_Y = mat_Z = cv::Mat(cvSize(imgColNormalize.cols, imgColNormalize.rows), CV_32FC1, cvScalar(0.));
私が言ったように、vec_split内のすべての値が0と1の間であるが、私は蚊帳の外にいる時、mat_X、mat_Yとmat_Z>は12 .. 出力を値が含まれている:mat_Zは、以下のように作成されています私が使用した寒さの:
0 0.507358
1.54751 0.496143
3.00963 0.528832
4.53887 0.465426
... and at the end I have 15.9459
0 + 0.507358!= 1.54751から分かりません。 1.54751 + 0.496143 = 3.00963 ...
誰かがこの問題を理解していますか?
ありがとうございました!
あなたは男少しよりも岩!効果的に、それは問題でした、そして、それは私が知らなかったものでした...私は今夜寝ることが少なく無知です! もう一度ありがとう! –