新手学习C#常见技能_视觉检测

  • Post author:
  • Post category:其他


大家好,我是华山自控编程朱老师

前几天一个学员在学习C#与视觉检测交互时。一直检测出现错误,用接口api去创建的时候,

截图如下:

不知道什么原因。

其实很多初学者在学习vs和视觉检测交互时,都会遇到类似的问题,不知道是动态库halcon.dll, halcondotnet.dll问题,还是视觉api调用的代码问题。下面我们就对这个问题进行详细分析。


问题分析:


该同学

在测试去掉不感兴趣区域,这里报错!看了问题,实在找不到。

这个错误其实提示很清晰了。对于老司机来说,可能一下就知道问题点在哪里。但是对于新手来说,看到这个语法错误,还是会一筹莫展。不知道如何去定位问题。



接下来






我就教该同学如何去定位和解决问题:


首先:我就让该同学把


try catch


代码去掉。

用于处理的图片有问题,可能为空值。单步调试一下,看问题出在哪。 该同学按照我的思路做了以后,发现了问题:区域变量为空。截图如下:

所以第二步。我让该同学继续单步调试,检查该变量为什么会为空值。经过检查,发现了问题:截图如下:

全局变量定义:

然后在 选择roi区域按钮事件代码里面重复定义了该变量。导致该变量又被覆盖了。然后在其他地方调用时,还是取得全局变量的默认空值。所以报错了。

最后:该同学注释掉roi方法里面的区域变量的定义后//

HObject Pregion;

继续运行。这次终于成功了:

通过以上调试方法。该同学学会了C#和视觉检测交互的基本技能。

另外在衍生下视觉检测

HoperatorSet




的相关api 知识点:


  1. public


    static


    void


    ReadImage(


    out


    HObject image, HTuple fileName);


    用法:读取具有不同文件格式的图像。

  2. public


    static


    void


    GenEmptyObj(


    out


    HObject emptyObject);


    用法:创建空对象元组




  3. public


    static


    void


    DrawRectangle1(HTuple windowHandle,


    out


    HTuple row1,


    out


    HTuple column1,


    out


    HTuple row2,


    out


    HTuple column2);


    :用法:绘制一个与坐标轴平行的矩形。

  4. public


    static


    void


    GenRectangle1(


    out


    HObject rectangle, HTuple row1, HTuple column1, HTuple row2, HTuple column2);


    用法:创建一个与坐标轴平行的矩形。

  5. public


    static


    void


    DispObj(HObject objectVal, HTuple windowHandle);


    用法


    :显示图像对象。

  6. public


    static


    void


    ReduceDomain(HObject image, HObject region,


    out


    HObject imageReduced);


    用法:缩小或提取图像的域。

  7. public


    static


    void


    WriteImage(HObject image, HTuple format, HTuple fillColor, HTuple fileName);


    用法:以图形格式写入图像

  8. public


    static


    void


    CropDomain(HObject image,


    out


    HObject imagePart);


    用法:剪切定义的灰度值



  9. 点击领取上位机编程全套入门教程+工具



    https://s.pdb2.com/pages/20230307/CnORDNt9HimMjNS.html


总结如下:

  1. 调试必备技能,debug模式单步跟踪调试变量赋值。



版权声明:本文为hspx668原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。