【发布时间】:2017-11-03 15:11:43
【问题描述】:
如何将 cv2 对象(更准确地说是包含这些对象的列表或 np.array),例如关键点(类型:cv2.KeyPoint)或匹配(类型:cv2.DMatch)转储到磁盘上的文件中为了稍后导入它们,而不是在大量图像 (> 50'000) 上重新运行耗时(在低端计算机上数小时到数天)算法?
它不适用于 (c)Pickle。 典型的错误是:
PicklingError: Can't pickle <type 'cv2.KeyPoint'>: it's not the same object as cv2.KeyPoint
或
PicklingError: Can't pickle <type 'cv2.DMatch'>: it's not the same object as cv2.DMatch
我在 cv2 上找不到任何 dump 或保存/导出方法。
脚本在 Ubuntu 16.04 和 Windows 7 上使用 Python 2.7 运行。
【问题讨论】:
-
Pickle error cv2.Boost 的可能重复项(有答案,但在这个问题之后被问到,并且不是 KeyPoint 特定的 - 但也不是这个问题的标题)