halcon.查找与点相连的线段

复制代码
*获取所有线段的起始点
objIndex := []
contourRow1 := []
contourCol1 := []
contourRow2 := []
contourCol2 := []
count_obj (ContoursSplit2, ContoursSplitNumber)
for ContourIndex := 1 to ContoursSplitNumber by 1
    select_obj (ContoursSplit2, ObjectSelected, ContourIndex)
    get_contour_xld (ObjectSelected, RowTemp, ColTemp)
    tuple_length (ColTemp, Length3)
    P1Row := RowTemp[0]
    P1Col := ColTemp[0]
    
    P2Row := RowTemp[Length3 - 1]
    P2Col := ColTemp[Length3 - 1]
    
    tuple_concat (objIndex, ContourIndex, objIndex)
    tuple_concat (contourRow1, P1Row, contourRow1)
    tuple_concat (contourCol1, P1Col, contourCol1)
    tuple_concat (contourRow2, P2Row, contourRow2)
    tuple_concat (contourCol2, P2Col, contourCol2)
    
endfor

tuple_concat (objIndex, objIndex, objIndex)
tuple_concat (contourRow1, contourRow2, contourRowPoints)
tuple_concat (contourCol1, contourCol2, contourColPoints)

SelectObjeIndex := []
tuple_length (objIndex, Length4)
for Index := 0 to Length4 - 1 by 1
    for Index2 := 0 to |RowContain| - 1 by 1
       if(abs(contourRowPoints[Index] - RowContain[Index2]) < AbsDistance  and abs(contourColPoints[Index] - ColContain[Index2]) < AbsDistance)
           tuple_concat (SelectObjeIndex, objIndex[Index], SelectObjeIndex)
       endif 
    endfor
endfor

tuple_sort (SelectObjeIndex, Sorted)
tuple_uniq (Sorted, ConnectContoursIndex)
return ()
复制代码

原理是找出所有线段的起始点,与给定的点相比较,最后获得与点相连的线段的index

posted on   不务正业的冯工  阅读(293)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示