You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

图像等距水平线检测优化:伪线与透视畸变干扰的解决方案需求

测量板水平标记线检测的鲁棒方案需求

需要检测测量板上带左侧数字标注的真实水平距离标记线,但图像中存在一条伪线(箭头标记)干扰检测。

当前采用核密度估计确定连续线的最常见间距(示例为150像素),并通过以下算法筛选候选线:

margin = 30 # 单位:像素
ruler_distance = 150 # 由核密度估计得到,也可使用中位数
candidates = defaultdict(list)
for i, line1 in enumerate(merged):
    candidates[i].append(line1)
    for j, line2 in enumerate(merged):
        if j > i:
            avg_y1 = (line1[1] + line1[3]) / 2 # line[1]和line[3]为y坐标
            avg_y2 = (line2[1] + line2[3]) / 2
            diff = avg_y2 - avg_y1 
            if ruler_distance - margin <= diff <= ruler_distance + margin:
                candidates[i].append(line2)
                ruler_distance = diff + avg_ruler_distance

但该算法鲁棒性极差,仅当margin=30时有效,调整±10就失效。核心问题是透视畸变导致真实等距的线在图像中实际间距不等。

当前图像已通过OpenCV霍夫变换检测并合并水平线,尝试腐蚀操作会导致其他图像中的标记丢失。相关线坐标数据可通过numpy.loadtxt读取:

23 18 882 17
1449 445 2841 454
508 625 1887 645
746 655 2092 670
548 1140 1998 1140
692 1180 1739 1180
480 1362 892 1362
807 1988 1234 1988
795 2116 1575 2116
783 2254 1717 2254
770 2395 1882 2395
756 2542 1878 2542
1008 2607 1332 2607
742 2695 1892 2695
729 2854 1900 2854
715 3016 1907 3016
387 3531 1949 3533
1515 4026 3023 4008

现寻求更可靠的检测方案。

内容的提问来源于stack exchange,提问作者Lukasz Tracewski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:31:58