51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 324|回复: 3

[已解决] 初学者求教:halcon代码测量图片工件的尺寸

[复制链接]
  • TA的每日心情
    开心
    2020-8-17 15:49
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    5

    主题

    28

    帖子

    69

    积分

    Rank: 1

    积分
    69
    发表于 2020-5-19 16:27:05 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    本帖最后由 梦之殇依 于 2020-8-7 14:58 编辑

    百度了很久,还是不懂,有大佬帮我解释下么,创建模型的时候这些算子的参数数据怎么获得的。大体思路是?
    set_system ('border_shape_models', 'false')
    set_system ('int_zooming', 'true')
    set_system('clip_region','false')

    dev_close_window ()
    dev_update_off ()
    dev_open_window (0, 0, 640, 480, 'black', WindowHandle)
    dev_set_draw ('margin')
    set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
    dev_set_line_width (2)
    dev_set_color ('green')

    AmplitudeThreshold := 12

       
    * 创建模板
    if(false)
    //读取图片
        read_image (Image, 'Model.bmp')
    //创建矩形模板
        gen_rectangle2 (ModelRegion, 1046.55, 502.87, rad(10.9339), 178.542, 81.8375)
    //减少图片的范围
        reduce_domain (Image, ModelRegion, TemplateImage)
    //创建一个匹配的模型
        create_shape_model (TemplateImage, 5, rad(0), rad(360), rad(0.6245), ['none','no_pregeneration'], 'use_polarity', [15,30,50], 4, ModelID)
    //返回形状模型
        get_shape_model_contours (ModelContours, ModelID, 1)
    //区域面积和中心
        area_center (ModelRegion, ModelRegionArea, RefRow, RefColumn)
    //从点和角度计算刚性仿射变换。
        vector_angle_to_rigid (0, 0, 0, RefRow, RefColumn, 0, HomMat2D)
    //对XLD轮廓应用任意仿射2D变换。
        affine_trans_contour_xld (ModelContours, TransContours, HomMat2D)
    //在“图像”中找到形状模型的最佳匹配。
        find_shape_model (Image, ModelID, rad(0), rad(360), 0.51, 1, 0.5, 'least_squares', [5,1], 0.75, ModelRow, ModelColumn, ModelAngle, Score)
    //将形状模型写入文件。
        write_shape_model (ModelID, './ModelID')
    //显示
        dev_display (Image)
        dev_display (ModelRegion)
        dev_display (TransContours)
       
        * Rectangle0
        TmpCtrl_Row := 926
        TmpCtrl_Column := 1074
        TmpCtrl_Phi := -1.35726
        TmpCtrl_Len1 := 100
        TmpCtrl_Len2 := 10
    //创建一个任意方向的矩形。
        gen_rectangle2 (Rectangle0, TmpCtrl_Row, TmpCtrl_Column, TmpCtrl_Phi, TmpCtrl_Len1, TmpCtrl_Len2)
    //将区域写入文件
        write_region (Rectangle0, 'Rectangle0.hobj')
        * Rectangle1
        TmpCtrl_Row := 847.673
        TmpCtrl_Column := 1425.64
        TmpCtrl_Phi := -1.36127
        TmpCtrl_Len1 := 70
        TmpCtrl_Len2 := 10
        gen_rectangle2 (Rectangle1_1, TmpCtrl_Row, TmpCtrl_Column, TmpCtrl_Phi, TmpCtrl_Len1, TmpCtrl_Len2)
        write_region (Rectangle1_1, 'Rectangle1_1.hobj')
       
        TmpCtrl_Row := 1038
        TmpCtrl_Column := 554
        TmpCtrl_Phi := -1.36127
        TmpCtrl_Len1 := 70
        TmpCtrl_Len2 := 10
        gen_rectangle2 (Rectangle1_2, TmpCtrl_Row, TmpCtrl_Column, TmpCtrl_Phi, TmpCtrl_Len1, TmpCtrl_Len2)
        write_region (Rectangle1_2, 'Rectangle1_2.hobj')
       
        * Rectangle2
        TmpCtrl_Row := 987.028
        TmpCtrl_Column := 1061.99
        TmpCtrl_Phi := 0.214
        TmpCtrl_Len1 := 374
        TmpCtrl_Len2 := 10
        gen_rectangle2 (Rectangle2, TmpCtrl_Row, TmpCtrl_Column, TmpCtrl_Phi, TmpCtrl_Len1, TmpCtrl_Len2)
        write_region (Rectangle2, 'Rectangle2.hobj')
        * Rectangle3
        TmpCtrl_Row := 874.972
        TmpCtrl_Column := 1038.08
        TmpCtrl_Phi := 0.214
        TmpCtrl_Len1 := 374
        TmpCtrl_Len2 := 10
        gen_rectangle2 (Rectangle3, TmpCtrl_Row, TmpCtrl_Column, TmpCtrl_Phi, TmpCtrl_Len1, TmpCtrl_Len2)
        write_region (Rectangle3, 'Rectangle3.hobj')
        * Rectangle4
        TmpCtrl_Row := 959.71
        TmpCtrl_Column := 918.038
        TmpCtrl_Phi := 0.217258
        TmpCtrl_Len1 := 616.136
        TmpCtrl_Len2 := 10
        gen_rectangle2 (Rectangle4, TmpCtrl_Row, TmpCtrl_Column, TmpCtrl_Phi, TmpCtrl_Len1, TmpCtrl_Len2)
        write_region (Rectangle4, 'Rectangle4.hobj')
       
        * Rectangle5 检测区域
        gen_rectangle2 (Rectangle5_1, 994.108, 760.656, 1.78017, 75, 38)
        gen_rectangle2 (Rectangle5_2, 963.114, 904.277, 1.78017, 75, 38)
        write_region (Rectangle5_1, 'Rectangle5_1.hobj')
        write_region (Rectangle5_2, 'Rectangle5_2.hobj')

        stop ()
    endif

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 958 天

    连续签到: 3 天

    [LV.10]以坛为家III

    380

    主题

    1554

    帖子

    7295

    积分

    Rank: 9

    积分
    7295

    突出贡献优秀版主荣誉管理论坛元老切换助手验证会员最佳新人

    发表于 2020-5-19 16:54:40 | 显示全部楼层
    要学习下模板相关参数的原理,才可以更好的设置这些参数!
    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
  • TA的每日心情
    开心
    2020-8-17 15:49
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    5

    主题

    28

    帖子

    69

    积分

    Rank: 1

    积分
    69
     楼主| 发表于 2020-5-19 17:49:22 | 显示全部楼层
    Criss 发表于 2020-5-19 16:54
    要学习下模板相关参数的原理,才可以更好的设置这些参数!

    谢谢鸟叔,那我就查阅下相关的资料,有一定理解再来询问

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    开心
    2020-8-17 15:49
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    5

    主题

    28

    帖子

    69

    积分

    Rank: 1

    积分
    69
     楼主| 发表于 2020-5-19 18:04:26 | 显示全部楼层
    Criss 发表于 2020-5-19 16:54
    要学习下模板相关参数的原理,才可以更好的设置这些参数!

    我现在遇到这样的问题,halcon测量数据然后转C#,我一直在调试修改,最后可以完整运行。可是最后却出现这个问题:
    [size=12.6667px]1,HALCON错误#2453:HALCON句柄在操作符转换坐标窗口到图像为空,请问大致是何处(我理解的是:测量时编程Halcon窗口对应的坐标轴那个窗口句柄,是这样理解么)
    [size=12.6667px]2,还有最近遇到一个联合编程问题:[size=12.6667px]“System.BadImageFormatException”类型的未经处理的异常在 halcondotnet.dll 中发生
    [size=12.6667px]

    [size=12.6667px]其他信息: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
    [size=12.6667px]

    [size=12.6667px]解决方案倒是有一个:把解决方案平台改成x64,而不是之前的any cpu。请问有一劳永逸的办法么,我在一个平台软件源码不会出现这个问题,可是单独实现功能却出问题了。
    [size=12.6667px]

    [size=12.6667px]

    HALCON错误#2453:HALCON句柄在操作符转换坐标窗口到图像为空

    HALCON错误#2453:HALCON句柄在操作符转换坐标窗口到图像为空

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    有问题需要咨询站长?| 申请友链| 小黑屋| 手机版| Archiver|  

    粤ICP备15095995号-2 粤公网安备44030602000670号

    CopyRight © 2015-2020 51Halcon机器视觉. Tencent Cloud X3.4.

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