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

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

前几天一个学员在学习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模式单步跟踪调试变量赋值。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据提供的引用内容,以下是一个新手学习C#编程语言机器视觉方向的学习路线指南: 1. 首先,你需要学习C#编程语言的基础知识。这包括掌握语言的语法、数据类型、流程控制等基本概念,并且熟悉C#的开发环境和工具,比如Visual Studio(简称VS)。 2. 接下来,你需要学习机器视觉的基本原理和概念。这包括了解图像处理、特征提取、目标检测和识别等基本技术。了解机器视觉的基本概念可以帮助你理解在C#中如何应用这些技术。 3. 一旦你掌握了C#和机器视觉的基本知识,你可以开始学习相关的库和框架。在C#中,你可以使用OpenCVSharp、Emgu CV等库来进行图像处理和机器视觉任务。这些库提供了丰富的函数和算法,可以帮助你处理图像、进行特征提取和目标检测等任务。熟悉这些库的使用可以提高你的机器视觉编程能力。 4. 此外,你还可以学习深度学习和神经网络的知识。深度学习在机器视觉任务中发挥着重要作用,可以帮助你实现更高级的图像处理和识别任务。学习深度学习的框架,比如TensorFlow.NET、CaffeSharp等,可以帮助你在C#中应用深度学习算法。 5. 最后,不断练习和实践是提高机器视觉编程能力的关键。通过完成项目和参与实际的机器视觉应用,你可以不断提升自己的技能和经验。参加相关的机器视觉竞赛和社区活动,与其他开发者交流和分享经验也是很有帮助的。 综上所述,新手学习C#编程语言机器视觉方向的学习路线包括学习C#基础知识、了解机器视觉的基本概念、学习相关的库和框架、掌握深度学习和神经网络的知识,并通过实践不断提升自己的技能和经验。希望这个学习路线指南对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [机器视觉工程师如何高效学习C#](https://blog.csdn.net/weixin_44301520/article/details/129515409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [新手学习C#常见技能_视觉检测](https://blog.csdn.net/hspx668/article/details/129518483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华山自控编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值