【问题标题】:How to export an opencv object to disk in python?如何在python中将opencv对象导出到磁盘?
【发布时间】:2018-02-28 12:12:30
【问题描述】:

我正在尝试将 opencv 的词袋图像描述符提取器对象 (cv2.BOWImgDescriptorExtractor) 导出到磁盘。我已经尝试过 opencv 的 FileStorage 类和 cPickle,但它们都不起作用。

这是我用来创建对象的代码:

sift = cv2.xfeatures2d.SIFT_create()
bowDiction = cv2.BOWImgDescriptorExtractor(sift, cv2.BFMatcher(cv2.NORM_L2))

然后使用 opencv 中的 FileStorage 类:

f = cv2.FileStorage('test.yml',flags=1)
f.write(name='bowDict',val=bowDiction)
f.release()

这返回了一个错误:

TypeError: val is not a numpy array, neither a scalar

当我尝试使用 cPickle 腌制对象时,它返回:

TypeError: can't pickle cv2.BOWImgDescriptorExtractor objects

我查看了许多来源,但没有找到任何结论,那么是否有适当的记录方式来存储此对象?

【问题讨论】:

    标签: python opencv image-processing machine-learning computer-vision


    【解决方案1】:

    初始化一个 BOWExtractor 对象很快,所以可能没有必要存储它。 但是从 BOW Kmeans 训练器集群中获取词汇需要时间。所以也许我们可以在获得词汇后存储它,并将其加载到 setVocabulary 以供 BOWExtractor 使用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-11
      • 2011-04-09
      • 1970-01-01
      • 2020-05-31
      • 2014-08-18
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      相关资源
      最近更新 更多