【问题标题】:Including empty array in houghlinesP parameter在 houghlinesP 参数中包含空数组
【发布时间】:2019-09-12 17:38:55
【问题描述】:

我正在使用cv2.houghlinesP,我看到很多人在参数中传递一个空数组。

它就像 -

lines = cv2.HoughLinesP(img, rho, theta, threshold, np.array([]), minLineLength=min_line_len, maxLineGap=max_line_gap)

np.array([])在这里扮演什么角色?

【问题讨论】:

  • 目前来说有点无意义,因为最后两个可选参数已经命名,可以完全跳过。具有类似行为的替代方法是在那里传递None。两者基本上都意味着“没有可重用于输出的数组”。 |在这个函数中,这个参数在 Python 中有点用处。通常,您可以提供它以在多次迭代中重用数组(以避免重复分配),但它必须是正确的大小。不幸的是,在调用函数之前,您通常不知道会找到多少行。

标签: python opencv


【解决方案1】:

我认为该函数的 Python 文档可能存在缺陷。对于大多数 C/C++ 函数,您提供一个指向结果数组的指针,它就会被填充。但是在 Python 中,通常整个结果只是被传回。

对于 HoughLinesP,您​​可以 follow this postthis tutorial 并完全删除空数组:

lines = cv2.HoughLinesP(img, rho, theta, threshold, minLineLength=min_line_len, maxLineGap=max_line_gap)

【讨论】:

  • 那么你的意思是我传不传空数组都没有关系?
  • 我认为您是否传递数组并且根本不应该传递它确实很重要。我已经更新了我的答案以使其更清楚。
  • 我试过了,它仍然显示一些奇怪的错误。我已经用结果更新了我的帖子。
  • 想通了!该帖子有所帮助。以前读过,不太明白,现在明白了。
猜你喜欢
  • 2016-06-07
  • 1970-01-01
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
  • 2017-12-27
  • 2018-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多