【发布时间】:2019-05-23 22:15:38
【问题描述】:
谁能解释一下为什么在使用h,theta,d = hough_line(image) 来检测图像中的角度之后,我们必须使用这个循环for _, a, d in zip(*hough_line_peaks(h, theta, d)):
angle.append(a) #angle is a list 来将角度添加到列表中吗?
既然hough_line(image) 会将角度存储在 theta 变量中,为什么我们不能使用它来检索角度并将它们添加到列表中?
这是检测图像中线条角度的代码的 sn-p:
image = imread(file_name)
image = np.mean(image, axis=2)
h, theta, d = hough_line(image)
angle = []
for _, a, d in zip(*hough_line_peaks(h, theta, d)):
angle.append(a)
angle = [a * 180 / np.pi for a in angle]
【问题讨论】:
-
没有人会回答这个问题,因为它不是MWE。首先,如果这些是对实际
opencv函数的调用,Hough 变换签名将如下所示:h, theta, d = HoughLines(image, rho=1, theta=1, threshold=1)但这里发生的hough_line让我觉得这是对其他函数的调用,而不是对cv2的调用。与hough_line_peaks相同。zip(*...)构造也很可疑,为什么要解压缩然后再次使用zip重新打包。如果你给我们一些东西,我们可以试试 - 也许 -
我使用的 hough_line 和 hough_line_peaks 来自 scikit-image API 而不是 openCV。
-
就像我说的,没有进口或标签是不可能的。