OpenCV+python:从 3.4.2 开始访问 HoughLines 累加器

在 OpenCV 3.4.2 中,添加了为 HoughLines() 返回的每一行返回投票数(累加器值)的选项。在 python 中,这似乎得到支持,也可以在我的 OpenCV 安装的 python 文档字符串中读取:


“每行由一个 2 或 3 个元素的向量 ( ρ , θ ) 或 ( ρ , θ ,投票) 表示。”


它也包含在文档中(具有一些损坏的格式)。 但是我找不到在 python 中返回 3 元素选项(ρ、θ、votes)的方法。 这是演示问题的代码:


import numpy as np

import cv2

print('OpenCV should be at least 3.4.2 to test: ', cv2.__version__)

image = np.eye(10, dtype='uint8')

lines = cv2.HoughLines(image, 1, np.pi/180, 5)

print('(number of lines, 1, output vector dimension): ', lines.shape)

print(lines)

产出


OpenCV should be at least 3.4.2 to test:  3.4.2

(number of lines, 1, output vector dimension):  (3, 1, 2)

[[[ 0.         2.3212879]]


 [[ 1.         2.2340214]]


 [[-1.         2.4609141]]]

所需的行为是一个额外的列,其中包含每行收到的票数。有了投票值,可以应用比标准阈值更高级的选项,因此经常在 SE(这里、这里、这里和这里)上请求和询问它,有时与 HoughCircles() 等效。但是问题和答案(如修改源和重新编译)都是在正式添加之前的,因此不适用于当前情况。


慕田峪7331174
浏览 345回答 2
2回答

开心每一天1111

有一个新的 python 绑定(opencv 4.5.1)文档:cv.HoughLinesWithAccumulator
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python