HoughlinesP 参数"threshold"和"minLineLength"



我在OpenCV中使用HoughLinesP函数。在阅读了这里的文档后,我对两个参数的必要性感到困惑&阈值&;和";minLineLength"。文档表示:

threshold -累加器阈值参数。只有这些线获得足够票数的返回值(>threshold)。

minLineLength -最小线路长度。短于此的线段将被拒绝。

不是其中一个是多余的吗?一条线获得的票数不等于它所包含的像素数吗?给定minlinellength;指定拒绝哪些行,"阈值"有什么用?我是不是漏掉了什么?

如果累加器的单元格很宽,并且有许多紧密间隔的短线,则累加器的计数会很高。min_line_length将有助于解决这些问题。

希望这能澄清眼前的问题。

好吧,我读了文档和随机霍夫变换(将其称为RHT)是如何工作的,我有这个想法,虽然它可能不正确。

在RHT中并不是所有的二进制点都被考虑在内,对吧?这就是为什么它更快。threshold表示在累加器中需要多少票才能把(,)看作一条直线,这很简单。

第二个有点令人困惑,但这是我的想法,minLineLength可能是从投票给它的点计算出的线的长度。意思是,如果我们有5个点来投票给某条线,并且所有这些点都非常接近,那么lineLength将是短的,可能是5个像素。另一方面,如果3个点投票给另一条线,并且这些点是远的一部分,那么lineLength大可能是20像素。

所以我们不能认为投票阈值等于lineLength,因为不是所有的二进制点都被考虑到计算中。

最新更新