4

是否可以从内存或字符串而不是从保存的文件中加载 FaceRecognizer 的模型。API 文档没有显示“FromString 或 Buffer”版本。

当前代码从文件加载:

model = cv2.createLBPHFaceRecognizer()
model.load('model.xml')

一些更多的背景。预设模型存储在 S3 中。我不想从 S3 检索然后保存到磁盘以便使用。我宁愿直接从 s3 加载到模型中,或者将 xml 字符串/文档加载到模型中。

4

1 回答 1

4

不幸的是,从 python ( cv2 ) atm 是不可能的。

虽然你可以从 c++ 做到这一点,

string yml; // the whole schlepp in a string
FileStorage fs;
fs.open(yml,FileStorage::READ|FileStorage::MEMORY);
facereco->load(fs);
fs.release();

可悲的是,您既不能访问 FileStorage api,也不能从 python 访问 FaceReco::load(FileStorage&) 方法

(旁注:至少您可以将它们从 facereco 重新保存为 yml.gz,以将流量降低到未压缩 xml 的 1/5)

于 2014-01-26T17:37:16.073 回答