OpenCV加载/保存直方图数据
OpenCV load/save histogram data
有没有办法将OpenCv图像直方图存储到磁盘,以便可以直接加载它,而无需被迫再次加载图像并从中计算直方图?
谢谢。
假设您正在处理单通道(灰度)图像,直方图可以用单通道行矩阵表示,该矩阵的长度等于直方图中的箱数。然后,您可以轻松地从/向文本文件加载/保存直方图。如果你想使用c++ opencv api,还提供了文件存储结构。阅读此内容。
下面是一个简单的示例:
// 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();
相关文章:
- 防止主数据类型C++的隐式转换
- 用于访问容器<T>数据成员的正确 API
- 嵌套在类中时无法设置成员数据
- 使用流处理接收到的数据
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 在cuda线程之间共享大量常量数据
- C++将文本文件中的数据读取到结构数组中
- 如何在C++中序列化结构数据
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 在c代码之间共享数据的最佳方式
- 链表,反向函数,数据结构
- 使用标准库或Boost库从一组数据中计算直方图
- 使用 2D 数据创建 3D 直方图(OpenCV?
- 编写一个程序,该程序在0-99范围内生成10000个随机整数,并从随机数据中产生直方图
- OpenCV加载/保存直方图数据
- 流数据的直方图近似
- 如何从2D数据生成OpenCV 1D直方图
- 数据拟合-在c++中拟合正态分布到直方图