我一直在尝试使用Anaconda当前的cv2
(我相信它实际上是OpenCV 3.x)读写矩阵到持久性文件存储(例如XML)。我在网上查看了这方面的解决方案,人们参考了类似这样的做法:
object = cv2.cv.Load(file)
object = cv2.cv.Save(file)
Source。这在当前的Anaconda Python cv2
上不起作用。人们提出了类似this YAML example的解决方案,但我很困惑为什么这个简单的功能需要这么多的样板代码,我不认为这是一个可接受的解决方案。我想要像旧解决方案一样简单的解决方案。
1条答案
按热度按时间3phpmpom1#
opencv的最新更新是not stated at all in the documentation。
这个最小的例子应该足以向你展示这个过程是如何工作的。实际上,当前的OpenCV Python Package 器看起来更像C版本,而且你现在直接使用
cv2.FileStorage
,而不是cv2.cv.Save
和cv2.cv.Load
。Python
cv2.FileStorage
现在是它自己的文件处理器,就像它在C中一样。在C++中,如果你想用FileStorage write 到一个文件,你需要做以下事情:要 * 阅读 *,您需要执行以下操作:
在Python中,如果你想写,你必须做以下事情:
如果你想然后 * 阅读 * 矩阵,这是一个有点做作。
读取和写入Python示例的输出应为:
XML看起来像这样: