设为首页收藏本站 距【华南国际工业博览会】宝安新馆开幕 : :

Halcon视觉之家 - 51Halcon专注于机器视觉技术

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 500|回复: 13

[软件错误] HalconDotNet dump_window problem.

[复制链接]
  • TA的每日心情
    奋斗
    2021-9-13 04:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    53

    帖子

    73

    积分

    Rank: 1

    积分
    73

    切换助手验证会员

    发表于 2021-5-24 19:38:12 | 显示全部楼层 |阅读模式

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

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

    x
    Hi, colleagues

    I have a question: why dump_window operator doesn't work when I use *.hdvp file from code?
    1. bExample1.ItemClick += (s, e) =>
    2.             {
    3.                 HDevEngine dev = new HDevEngine();

    4.                 string exec = Application.ExecutablePath;
    5.                 string execFolder = System.IO.Path.GetDirectoryName(exec);

    6.                 dev.SetProcedurePath($@"{execFolder}");

    7.                 HDevProcedure proc = new HDevProcedure("Example1_GetImage");
    8.                 HDevProcedureCall call = new HDevProcedureCall(proc);

    9.                 HObject srcImage = (PE.Image as Bitmap).BitmapToHobject();

    10.                 string SomeText = "Hello, Denis!";

    11.                 call.SetInputIconicParamObject("SourceImage", srcImage);
    12.                 call.SetInputCtrlParamTuple("SomeText", new HTuple(SomeText));

    13.                 try
    14.                 {
    15.                     call.Execute();
    16.                     HTuple OutputImagePath = call.GetOutputCtrlParamTuple("OutputImagePath");
    17.                     HObject BackgroundImage = call.GetOutputIconicParamObject("BackgroundImage");

    18.                     dev.UnloadAllProcedures();
    19.                     call.Reset();

    20.                     dev.Dispose();
    21.                     proc.Dispose();
    22.                     call.Dispose();

    23.                     PE.Image = new Bitmap(OutputImagePath.S);
    24.                 }
    25.                 catch(HalconDotNet.HalconException ex)
    26.                 {
    27.                     Console.WriteLine(ex.Message);
    28.                 }

    29.             };
    30.         }
    31.     }
    复制代码

    Appears error: HALCON operator error  in procedure: 'Example1_GetImage' line: 7, dump_window_image:
    Wrong type of control parameter 1
    1. get_image_size(SourceImage, Width, Height)
    2. dev_open_window(0, 0, Width, Height, 'black', WindowHandle)
    3. dev_set_window(WindowHandle)
    4. dev_display(SourceImage)
    5. disp_message (WindowHandle, SomeText, 'image', 12, 12, 'black', 'false')
    6. OutputImagePath:='OutputImage.png'
    7. dump_window_image(Image, WindowHandle)
    8. write_image(Image, 'png', 0, OutputImagePath)
    复制代码
  • TA的每日心情
    奋斗
    2021-9-13 04:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    53

    帖子

    73

    积分

    Rank: 1

    积分
    73

    切换助手验证会员

     楼主| 发表于 2021-5-24 19:42:15 | 显示全部楼层
    My version: Halcon 18.11
  • TA的每日心情
    开心
    昨天 09:23
  • 签到天数: 1235 天

    连续签到: 23 天

    [LV.10]以坛为家III

    415

    主题

    1708

    帖子

    6024

    积分

    Rank: 9

    积分
    6024

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

    发表于 2021-5-25 10:08:35 | 显示全部楼层
    Evgeniy 发表于 2021-5-24 19:42
    My version: Halcon 18.11

    We usually realize all functions by calling the. hdvp function by calling the engine and passing in the window handle.
    It is more convenient to use HDevProcedure call.
    As an engine call,. hdev file should not be passed in directly, but you can start debugging and use HDevelop process debugging to see if your value is passed in.
    It is a complete program similar to the parameterless method, but. hdvp can pass parameters. ‘

    Attachment is the way I use it, and the test is basically no problem!

    HalconEngine.rar (2.05 KB, 下载次数: 1)
    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
  • TA的每日心情
    奋斗
    2021-9-13 04:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    53

    帖子

    73

    积分

    Rank: 1

    积分
    73

    切换助手验证会员

     楼主| 发表于 2021-5-26 13:39:00 | 显示全部楼层
    Criss, thank you for answer!!!

    Very interesting thing!!! So, you mean I can use HWindowControl descriptor as input parameter in *.hdvp file and after that I can use the HOperatorSet.DumpWindow for getting picture?

    I need to check this idea!

    I will wrote later about my results.
  • TA的每日心情
    奋斗
    2021-9-13 04:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    53

    帖子

    73

    积分

    Rank: 1

    积分
    73

    切换助手验证会员

     楼主| 发表于 2021-5-26 14:35:27 | 显示全部楼层
    Criss, do you have any example with window descriptor?
    Because I can't!
  • TA的每日心情
    奋斗
    2021-9-13 04:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    53

    帖子

    73

    积分

    Rank: 1

    积分
    73

    切换助手验证会员

     楼主| 发表于 2021-5-26 14:48:45 | 显示全部楼层
    I just need to transfer a picture to a file. Write something on this picture and return it back.

    The first attempt was unsuccessful.
  • TA的每日心情
    奋斗
    2021-9-13 04:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    53

    帖子

    73

    积分

    Rank: 1

    积分
    73

    切换助手验证会员

     楼主| 发表于 2021-5-26 15:13:22 | 显示全部楼层
    Criss, is I am right? You not use *.hdvp file in your project? You just only make it with HDevEngine and HoperatorSet?
  • TA的每日心情
    奋斗
    2021-9-13 04:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    53

    帖子

    73

    积分

    Rank: 1

    积分
    73

    切换助手验证会员

     楼主| 发表于 2021-5-26 20:12:33 | 显示全部楼层
    No Idea, how to solve this problem. Looks like dump_window is not working at all from C# project.
  • TA的每日心情
    开心
    昨天 09:23
  • 签到天数: 1235 天

    连续签到: 23 天

    [LV.10]以坛为家III

    415

    主题

    1708

    帖子

    6024

    积分

    Rank: 9

    积分
    6024

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

    发表于 2021-5-26 20:15:51 | 显示全部楼层
    Evgeniy 发表于 2021-5-26 15:13
    Criss, is I am right? You not use *.hdvp file in your project? You just only make it with HDevEngine ...

    Sure,It's My Halcon Engine's Demo,It's Works!
    https://1drv.ms/u/s!AgtcKzAtnq7fiz5nuVQ9Z8lCsaQw?e=f7K7pP
    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
  • TA的每日心情
    奋斗
    2021-9-13 04:56
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    53

    帖子

    73

    积分

    Rank: 1

    积分
    73

    切换助手验证会员

     楼主| 发表于 2021-5-26 22:47:33 | 显示全部楼层
    Criss, thank you!

    Very interesting example.

    But my additional problem that is I am trying to make service application and there can not be any control and forms at all.

    In your example you are using HWindowControl - and this is cool, but I need the solution without any controls. I try to make it without them, but your example very helpfull!!! Thank you!!!
    您需要登录后才可以回帖 登录 | 会员注册

    本版积分规则

    视觉培训招生

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

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

    算子查询| 申请友链| 小黑屋| 手机版| Archiver|

    © 2015-2021 51Halcon机器视觉  X3.4  粤ICP备15095995号 粤公网安备44030602000670号

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