我在OpenCV中使用了OpenCV函数。在阅读了文档这里之后,我对两个参数“阈值”和"minLineLength“的必要性感到困惑。文件上说:
阈值-累加器阈值参数。只有那些获得足够票数(>门槛)的行才会被选出。 minLineLength -最小线路长度。较短的线段被拒绝。
其中一个不是多余的吗?一条线得到的票数不是等于它所包含的像素数吗?假设"minLineLength“指定要拒绝哪些行,那么”阈值“的用途是什么?我是不是漏掉了什么。请作出澄清。
发布于 2017-01-22 09:47:10
如果蓄能器的单元较宽,且有许多间隔较近的短线,则累加器的计数将很高。min_line_length将帮助解决这些问题。
希望这能澄清眼前的问题。
发布于 2018-02-27 14:16:52
好的,我读了文档和随机Hough变换(将称为RHT)是如何工作的,我有这个想法,但它可能是不对的。
在RHT中,并不是所有的二进制点都被考虑在内,对吧。这就是它更快的原因。所以,threshold的意思是,在累加器中,需要多少选票才能把它(rho,θ)看作一行,这是很容易的。
第二个有点让人困惑,但是这里是我的,minLineLength可能是从投票给它的点算出的线的长度。意思是,如果我们有一个5分为某一条线投票,而所有这些点是如此接近,那么lineLength将是短的可能是5个像素。另一方面,如果3个点投票给另一条线,而这些点是一个很远的部分,那么lineLength很大,可能是20个像素。
因此,我们不能认为投票阈值等于lineLength,因为并不是所有的二进制点都在计算中。
https://stackoverflow.com/questions/24922897
复制相似问题