私は(x、y)のようなペアの値のデータセットを持っています。たとえば、xの範囲は-40〜60、yの範囲は0〜100です。最初はstd::vector<std::pair<float,float>>
に格納されていますが、ループの中ではOpenCVのcv::calcHist
関数に渡すために2チャネルcv::Mat
に変換します。私は1Dヒストグラムを達成したいと思います:here。私は実際に2つのデータ範囲を持っているので、結果的にはcv::Mat
からcv::calcHist
までの2Dヒストグラムで終わるのですが、基本的にy軸の値の平均値x軸のbin_size x_bin
に基づいて計算します。 (x、y):(-35,10)、(-39,20) 1D(10進数)は、ヒストグラムは、-40から-30までのビン範囲のy =(10 + 20)/ 2の平均を計算する必要があります。2次元データからOpenCV 1Dヒストグラムを生成する方法は?
したがって、各ビンの合計は、その特定のビンの範囲に入る値の単純なカウントではなく、むしろ値の平均であるべきです。
私は理解できる方法で問題を述べることができれば幸いです。どんな助けもありがとうございます。