opencv

怎样在Android下保存OpenCV矩阵

如果只是在桌面系统(Mac、Windows或者Linux)使用OpenCV,OpenCV提供了将Mat保存到文件系统和从文件系统恢复Mat的C++ API。但是,在Android并未提供多这个API的Java API wrapper。

参考Best way to store a Mat object in Android,有以下方法:

  1. 可能在Android下可以调用这个C++ API,这个需要找时间尝试
  2. 有人提出了通过gson保存Mat的方法,应该是可用的。

我在实际项目中选择的是第二种办法,即通过java的gson实现的方式,不过他的代码在保存特殊矩阵的时候存在错误,比如直方图,会报告类型兼容错误。下面给出一种针对直方图的解决办法。