当接收 "ValueError: 没有足够的值解包 (预期 2, 得到 1)" 时, 如何强制程序忽略并继续?

我使用 Python (3) 和 OpenCV (3.3) 在网络摄像头上运行实时对象检测, 使用示例图像, 该图像与视频流的功能匹配。我已经得到了它的工作使用 SIFT/SURF, 但试图使用 ORB 算法。 在某些情况下, 我收到以下错误, 导致程序崩溃: for i, (m, n) in enumerate(matches): ValueError: not enough values to unpack (expected 2, got 1) 我理解它崩溃背后的原因, 有时图像之间有很好的匹配, 有时没有, 造成不匹配。 我的问题是, 如何强制程序忽略并跳过没有足够值的情况并继续运行。 有问题的主要代码领域: for i, (m, n) in enumerate(matches): if m.distance < 0.7*n.distance: good.append(m) 示例 "匹配" 输出: [[, ], [, ], [, ], [, ], etc etc 完整代码: import numpy as np import c ……

共2个回答, 标签: python opencv enumerate orb flann