【问题标题】:OpenCV MSER detect areas from a screenshot - PythonOpenCV MSER 从屏幕截图中检测区域 - Python
【发布时间】:2018-06-17 22:34:19
【问题描述】:

我看到了这个例子:OpenCV MSER detect text areas - Python

我尝试使用该代码,但它不起作用。 错误是:

hulls = [cv2.convexHull(p.reshape(-1, 1, 2)) for p in regions] AttributeError: 'list' object has no attribute 'reshape'

变量p 来自哪里?

【问题讨论】:

    标签: python opencv mser


    【解决方案1】:

    整个构造 [cv2.convexHull(p.reshape(-1, 1, 2)) for p in regions] 被称为“列表理解”。您可以在许多地方阅读更多关于它们的信息。

    在您提到的代码中regions 是一些可迭代的,例如列表。这意味着当您编写for p in regions 时,p 假定regions 中的每个值,一次一个。这就是p 的来源。

    由于p 参与列表推导,它可以在表达式中使用。在这种情况下,表达式为cv2.convexHull(p.reshape(-1, 1, 2))。因此,整个构造的值就是regions 中每个pcv2.convexHull(p.reshape(-1, 1, 2)) 的值。

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 2017-02-25
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 2015-06-14
      相关资源
      最近更新 更多