2012-04-23 9 views

答えて

10

単一チャネル(グレースケール)イメージで作業していると仮定すると、ヒストグラムは、ヒストグラムのビン数に等しい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(); 
+0

ニース、おかげ:

は、以下に簡単な例です!私はそれとの比較を行うためにcvヒストグラムにデータが必要です。私はcv :: createHist()を呼び出し、ロードされたcv :: Matを渡すと仮定します。 – pparescasellas

+0

double compareHist(InputArray H1、InputArray H2、intメソッド) - InputArrayはロードされたcv :: Matでもかまいません。 – Eric

+0

すごく、ありがとう。 – pparescasellas

関連する問題