1

我正在使用 OpenCV 2.4.2

这是来自 OpenCV 文档的引文

C++: void HoughLinesP(InputArray image, OutputArray lines, double rho, double theta, int threshold, double minLineLength=0, double maxLineGap=0)

参数:

image – 8 位单通道二进制源图像。该功能可以修改图像。

线- 线的输出向量。每条线由一个 4 元素向量 表示,其中 和 是每个检测到的线段的终点。

rho – 累加器的距离分辨率(以像素为单位)。

theta – 累加器的角度分辨率,以弧度为单位。

threshold – 累加器阈值参数。只有那些获得足够票数的行才会返回()。

minLineLength – 最小行长度。比这短的线段被拒绝。

maxLineGap - 同一条线上的点之间的最大允许间隙以链接它们

我的问题是

minLineLengthmaxLineGap是以像素为单位测量的吗?或者是什么?

4

1 回答 1

5

Digging into an old Intel OpenCV manual, you can see that it describes LineLength as Pixels http://opencv.jp/opencv-1.0.0_org/docs/opencvman_old.pdf

It retrieves no more than linesNumber line segments; each of those must be not shorter than lineLength pixels.

Pixels seem to be the most logical here. Rho, the distance resolution of the accumulator is defined as being in Pixels.

The sample here shows a value of 30 being used:
http://www.scribd.com/doc/77374092/155/cv-HoughLinesP

于 2012-12-24T16:19:00.637 回答