设为首页收藏本站
授权版本:2024_07
开启左侧

fit_line_contour_xld获取的起点终点重合如何处理

[复制链接]
freekun139com 发表于 2023-9-22 23:41:01 | 显示全部楼层 |阅读模式
  1. *由给定的坐标与画直线,fit_line_contour_xld获取起点与终点重合: RowBegin = RowEnd, ColBegin = ColEnd
  2. *看帮助说是需要根据Nr, Nc, Dist的关系求直线,这里不会计算,哪位大佬指点一下这种情况下如何计算起点与终点坐标
  3. *感谢在前
  4. dev_open_window (0, 0, 512, 512, 'black', WindowHandle)

  5. *假设经过坐标点(Row, Col), 斜率Phi
  6. Row := 256
  7. Col := 256
  8. Phi := rad(45)
  9. Len := 200

  10. *向右侧画直线
  11. gen_region_line (RegionLinesR, Row, Col, Row - Len * sin(Phi), Col + Len * cos(Phi))
  12. gen_contour_region_xld (RegionLinesR, ContoursR, 'center')
  13. fit_line_contour_xld (ContoursR, 'tukey', -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)

  14. *RowBegin, ColBegin, RowEnd, ColEnd两点重合, 这个时候需要根据Nr, Nc, Dist的关系求直线: R*Nr+C*Nc-Dist=0
  15. gen_contour_polygon_xld (ContourR, [RowBegin, RowEnd], [ColBegin, ColEnd])
复制代码

直线起点与终点重合

直线起点与终点重合

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-23 09:10:55 | 显示全部楼层
将gen_contour_region_xld (RegionLinesR, ContoursR, 'center')改为
gen_contours_skeleton_xld (RegionLinesR, ContoursR, 1, 'filter')即可
注意理解gen_contour_region_xld 是将区域转化为封闭轮廓,自然起点和终点就是一样的了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| freekun139com 发表于 2023-9-25 10:14:38 | 显示全部楼层
halcon2016 发表于 2023-9-23 09:10
将gen_contour_region_xld (RegionLinesR, ContoursR, 'center')改为
gen_contours_skeleton_xld (RegionLi ...

感谢,新学一个函数gen_contours_skeleton_xld
看帮助不是说重合场景下"根据Nr, Nc, Dist的关系求直线"
这个关系是怎么使用的,知道如何根据这三个值计算直线吗
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-25 10:50:52 | 显示全部楼层
本帖最后由 halcon2016 于 2023-9-25 10:52 编辑
freekun139com 发表于 2023-9-25 10:14
感谢,新学一个函数gen_contours_skeleton_xld
看帮助不是说重合场景下"根据Nr, Nc, Dist的关系求直线"
...

R*Nr+C*Nc-Dist=0这个不就是直线的方程吗,还要怎么计算直线?有了直线方程,随便在直线上取两个点,就可以得到两点之间的直线段了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| freekun139com 发表于 2023-9-25 11:32:33 | 显示全部楼层
halcon2016 发表于 2023-9-25 10:50
R*Nr+C*Nc-Dist=0这个不就是直线的方程吗,还要怎么计算直线?有了直线方程,随便在直线上取两个点,就可 ...

那我理解错了,感谢
这种情况相当于知道了直线上的一个点和直线方程
我理解成了如何通过一个点和直线方程把直线画出来
在尝试通过直线方程计算直线另一个点的坐标,这个是算不出来的
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表