3
OpenCvイメージヒストグラムをディスクに保存する方法はありますか?それで、イメージを再度読み込み、そこからヒストグラムを計算することなく直接読み込むことができますか?OpenCVヒストグラムデータをロード/セーブする
ありがとうございます。
OpenCvイメージヒストグラムをディスクに保存する方法はありますか?それで、イメージを再度読み込み、そこからヒストグラムを計算することなく直接読み込むことができますか?OpenCVヒストグラムデータをロード/セーブする
ありがとうございます。
単一チャネル(グレースケール)イメージで作業していると仮定すると、ヒストグラムは、ヒストグラムのビン数に等しい1つのチャネル行行列で表すことができます。 その後、ヒストグラムをテキストファイルから簡単にロード/保存することができます。 C++ opencv apiを使用する場合は、filestorage構造も用意されています。 thisを読んでください。
// save file
cv::Mat my_histogram;
cv::FileStorage fs("my_histogram_file.yml", cv::FileStorage::WRITE);
if (!fs.isOpened()) {std::cout << "unable to open file storage!" << std::endl; return;}
fs << "my_histogram" << my_histogram;
fs.release();
// load file
cv::Mat my_histogram;
cv::FileStorage fs("my_histogram_file.yml", cv::FileStorage::READ);
if (!fs.isOpened()) {std::cout << "unable to open file storage!" << std::endl; return;}
fs >> "my_histogram" >> my_histogram;
fs.release();
ニース、おかげ:
は、以下に簡単な例です!私はそれとの比較を行うためにcvヒストグラムにデータが必要です。私はcv :: createHist()を呼び出し、ロードされたcv :: Matを渡すと仮定します。 – pparescasellas
double compareHist(InputArray H1、InputArray H2、intメソッド) - InputArrayはロードされたcv :: Matでもかまいません。 – Eric
すごく、ありがとう。 – pparescasellas