OpenCV - 从 C++ 打开一个 XML 文件到 Python

OpenCV - Open an XML file from C++ to Python

我正在做一个项目来提高我在 OpenCV 方面的技能,因为我是新手,所以我缺乏很多知识。在我的项目中,我检测到图像上的人脸,裁剪面部区域,将其转换为灰度,使用 LBP 并使用 calcHist[=40 计算 LBP 图像的直方图=].

我使用 FileStorage 将所有这些直方图保存为 .xlm 文件。以上所有,在 Visual Studio 上使用 C++。现在我有一些机器学习算法的代码,如 SVM、神经网络、knn 等。但是所有这些代码都在 Python 3.

我想到的下一步是获取所有这些 .xml 文件并 将它们加载到 Python 脚本中,再次使用 OpenCV使用它们,但我最近几天无法做到。

我尝试过的最简单的测试(来自 post 2017 年 7 月制作):

import cv2

fs = cv2.FileStorage("aa048t2aaunaff001.png_olbp.xml", cv2.FILE_STORAGE_READ)

fn = fs.getNode("Camera_Matrix")
print (fn.mat())

这里的问题:

1. fs 没有成员"getNode"。我在这里安装有问题吗? 2.打印输出"None".

XML 要加载的文件:https://drive.google.com/open?id=0B2TTkSDC13uQRk8tZlgxengzNW8

OpenCV:3.3.0,Python:3.6.2

找不到其他有效的方法,所以我 post 尝试了我尝试过的最简单的方法。感谢阅读,感谢您的帮助。

由于我的 post 大约在 3 个月前得到答复,但没有提供官方答复,我将回答我自己的问题。

我成功打开了我想要的文件,但我试图访问一个不存在的矩阵。我将 fn = fs.getNode("Camera_Matrix") 更改为 fn = fs.getNode("my_histrogram") 并且 OpenCV 成功加载了直方图。