4

OpenCv イメージ ヒストグラムをディスクに保存して、イメージを再度ロードしてヒストグラムを計算することなく直接ロードできるようにする方法はありますか?

ありがとうございました。

4

1 に答える 1

11

単一チャネル (グレー スケール) 画像で作業していると仮定すると、ヒストグラムは、ヒストグラム内のビンの数に等しい長さの単一チャネル行行列で表すことができます。次に、ヒストグラムをテキストファイルから/へ簡単にロード/保存できます。c++ opencv api を使用する場合は、filestorage 構造も提供されます。これを読んでください。

簡単な例を次に示します。

// 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();
于 2012-04-23T09:46:06.593 に答える