gpt4 book ai didi

OpenCV Hough 最强线

转载 作者:太空宇宙 更新时间:2023-11-03 20:39:23 28 4
gpt4 key购买 nike

OpenCV 中的 HoughLines 或 HoughLinesP 函数是否像 HoughCircles 函数那样返回累加器顺序的行列表?我想知道行的顺序。获取线条的累加器值也非常方便,因此可以使用智能和自适应阈值而不是固定阈值。在没有 rewriting OpenCV myself 的情况下,排序或累加器值是否可用? ?

最佳答案

HoughTransform 按投票数降序排序行。可以看到代码here

但是,当函数返回时,投票计数会丢失 - 唯一的方法是修改 OpenCV。

好消息是这不是很复杂 - 我自己做过一次。将 vector< Vec2f > 的输出更改为一米分钟至 vector< Vec3f >并用投票计数填充最后一个参数。

此外,您必须修改 CvLinePolar 以添加第三个参数 - hough 在 C 中实现,并且在 C++ 中有一个包装器,因此您必须同时修改实现和包装器。

修改的主要代码在这里

 for( i = 0; i < linesMax; i++ )
{
CvLinePolar line;
int idx = sort_buf[i];
int n = cvFloor(idx*scale) - 1;
int r = idx - (n+1)*(numrho+2) - 1;
line.rho = (r - (numrho - 1)*0.5f) * rho;
line.angle = n * theta;

// add this line, and a field voteCount to CvLinePolar
// DO NOT FORGET TO MODIFY THE C++ WRAPPER
line.voteCount = accum[idx];

cvSeqPush( lines, &line );
}

关于OpenCV Hough 最强线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11352528/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com