visionpro提供了丰富的接口,只是因为教程太少,所以大家不怎么会用。这里介绍另一种使用visionpro的方法,不使用vpp文件,直接使用C#代码调用动态链接库中的函数实现功能。比较适合那种不希望别人知道你用的什么软件实现的,一次开发一次收费的情况。实例源码在文章末尾。
这个实例功能是,选择一张图像进行训练,然后再选择一张图像找到该图中的圆半径值。
动态链接库:
复制
Cognex.VisionPro; Cognex.VisionPro.Core; Cognex.VisionPro.Caliper; Cognex.VisionPro.PMAlign; Cognex.VisionPro.CalibFix;
VS引用:
复制
using Cognex.VisionPro; using Cognex.VisionPro.Caliper; using Cognex.VisionPro.PMAlign; using Cognex.VisionPro.CalibFix;
其中模板匹配CogPMAlignTool工具的训练实现请参考:C#纯代码训练使用CogPMAlignTool
此示例程序主要难点在于找圆工具CogFindCircleTool
的圆弧参数设置CogCircularArc
,相关文档可参见CogFindCircle.ExpectedCircularArc Property一文,当然这里不得不吐槽下visionPro的文档写得是真的水,重点没讲到,废话一大堆,给的示例代码都没卵用。强烈建议下载文末源码对照学习。
还有一个需要注意的地方是,设置圆弧角度范围时,控件单位是角度,在使用代码设置时,单位是弧度,因此我们需要使用visionPro提供的CogMisc类进行弧度角度的相互转换,具体函数可参见文档CogMisc.DegToRad Method与CogMisc.RadToDeg Method。
评论 (3)