Python 在houghlinesP参数中包含空数组

Python 在houghlinesP参数中包含空数组,python,opencv,Python,Opencv,我使用的是cv2.houghlinesP,我看到很多人在参数中传递一个空数组 它有点像—— lines = cv2.HoughLinesP(img, rho, theta, threshold, np.array([]), minLineLength=min_line_len, maxLineGap=max_line_gap) np.array([])在这里扮演什么角色?我认为Python文档中关于此函数的部分可能存在缺陷。对于大多数C/C++函数,您提供一个指向结果数组的指针,结果数组将被

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

它有点像——

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


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

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

对于HoughLinesP,您可以或完全删除空阵列:

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

你的意思是,我是否通过空数组并不重要?我认为你是否通过数组并不重要,你根本不应该通过它。我更新了我的答案,让它更清晰。我试过了,它仍然显示出一些奇怪的错误。我已经用结果更新了我的帖子。找到答案了!这篇文章起了作用。我以前读过,但不太明白,但现在我明白了。现在看来,这是毫无意义的,因为最后两个可选参数已经命名了,所以可以完全跳过。类似行为的替代方案是在那里传递
None
。两者基本上都意味着,“没有可用于输出的数组”在这个函数中,这个参数在Python中有点无用。通常,您可以提供它以在多次迭代中重用阵列(以避免重复分配),但它必须是正确的大小。不幸的是,在调用函数之前,通常不知道会找到多少行。