51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 86|回复: 5

[待解决] C#中,Region缩放以后消失问题

[复制链接]
  • TA的每日心情
    可怜
    2020-6-4 22:06
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    9

    帖子

    27

    积分

    Rank: 1

    积分
    27
    发表于 2020-6-4 22:28:52 | 显示全部楼层 |阅读模式

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

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

    x
    如果不添加DispText函数 ,显示的Region,无论怎么缩放都一直存在,添加以后只能显示文字,缩放Region立马消失,请问一下怎么解决呢?
    1. SelectedRegions = ConnectedRegions.SelectShape("area", "and", minArea, maxArea);
    2.             SelectedRegions = SelectedRegions.SelectShape("circularity", "and", 0.7, 1.0);
    3.             SelectedRegions.SmallestCircle(out row, out col, out radius);
    4.             hWindow.SetColor("green");
    5.             //显示区域
    6.             SelectedRegions.DispObj(hWindow);
    7.             hWindow.SetFont("Arial-15");
    8.             lbl_HoleNumbers.Text= "检测点数:" + row.Length.ToString();
    9.             for (int i = 0; i < row.Length; i++)
    10.             {
    11.                 double row1 = row[i] + posOffSet;
    12.                 double col1 = col[i] + posOffSet;
    13.                 double area1 = SelectedRegions.Area[i];
    14.                 double diameter1 = Math.Sqrt(area1 / 3.1415) * 2 / RulerLen * RulerRatio;
    15.                 //显示文字
    16.                 hWindow.DispText(diameter1.ToString("F2"), "image", row1, col1, "white", "box", "false");
    17.             }
    复制代码

    显示的Region都消失了,只剩文字

    显示的Region都消失了,只剩文字

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

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

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

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

  • TA的每日心情
    可怜
    2020-6-4 22:06
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    9

    帖子

    27

    积分

    Rank: 1

    积分
    27
     楼主| 发表于 2020-6-4 22:31:00 | 显示全部楼层
    代码显示不全不好意思,完整代码如下
    SelectedRegions = ConnectedRegions.SelectShape("area", "and", minArea, maxArea);
                SelectedRegions = SelectedRegions.SelectShape("circularity", "and", 0.7, 1.0);
                SelectedRegions.SmallestCircle(out row, out col, out radius);
                hWindow.SetColor("green");
                //显示区域
                SelectedRegions.DispObj(hWindow);
                hWindow.SetFont("Arial-15");
                lbl_HoleNumbers.Text= "检测点数:" + row.Length.ToString();
                for (int i = 0; i < row.Length; i++)
                {
                    double row1 = row[i] + posOffSet;
                    double col1 = col[i] + posOffSet;
                    double area1 = SelectedRegions.Area[i];
                    double diameter1 = Math.Sqrt(area1 / 3.1415) * 2 / RulerLen * RulerRatio;
                    //显示文字
                    hWindow.DispText(diameter1.ToString("F2"), "image", row1, col1, "white", "box", "false");
                }

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

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

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

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

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 619 天

    连续签到: 1 天

    [LV.9]以坛为家II

    137

    主题

    694

    帖子

    4013

    积分

    Rank: 9

    积分
    4013

    热心会员突出贡献切换助手验证会员最佳新人

    发表于 2020-6-5 09:45:47 | 显示全部楼层
    正常情况下,只要有图形变量的图形经过拖拉、放大缩小、刷新都会存在的,除非你的图形没有赋值给变量,就不会重绘刷新的时候消失!

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

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

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

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

  • TA的每日心情
    可怜
    2020-6-4 22:06
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    9

    帖子

    27

    积分

    Rank: 1

    积分
    27
     楼主| 发表于 2020-6-5 15:58:42 | 显示全部楼层
    绝地武士 发表于 2020-6-5 09:45
    正常情况下,只要有图形变量的图形经过拖拉、放大缩小、刷新都会存在的,除非你的图形没有赋值给变量,就不 ...

    你好,请问图形变量是什么?SelectedRegions 不是属于Hregion变量吗?为什么不添加hwindow.disptext这句话,就没问题,我试着把SelectRegions变量从函数内声明,改为函数外声明,但是还是没效果。

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

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

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

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

  • TA的每日心情
    耍酷
    昨天 19:41
  • 签到天数: 33 天

    连续签到: 1 天

    [LV.5]常住居民I

    1

    主题

    34

    帖子

    133

    积分

    Rank: 1

    积分
    133

    切换助手验证会员

    发表于 2020-6-6 15:00:10 | 显示全部楼层
    先把基础学习一下吧

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

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

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

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

  • TA的每日心情
    可怜
    2020-6-4 22:06
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    9

    帖子

    27

    积分

    Rank: 1

    积分
    27
     楼主| 发表于 2020-6-8 10:21:50 | 显示全部楼层
    我现在用一个定时器,当发生改变的时候,就用一个定时器延时50毫秒重新显示Region和文字。但是会有短时间的黑屏,看的有点不舒服。我是通过鼠标事件来改变的,比如鼠标松开,或者hsmartwindowcontrol的hmouseup和hmousewheel 事件来做的。在paint 里面触发触发,效果不理想。

    请问一下大家还有更好的方法吗?

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

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

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

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

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

    本版积分规则

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用反馈 | 51Halcon论坛管理团队论坛管理团队

    申请友链| 小黑屋| 手机版| Archiver|  

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

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

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