今天有人问我使用相机的SDK取像后,怎么将图像传递给VisionPro使用。从这个问题可以看出,这位网友应该是刚接触VisionPro,估计VisionPro工具有哪些都还不清楚。不过既然有问题,那就要解决,下面看看我提供的方法,方法很多,这里只是比较常用的。
要实现相机SDK取像传递图像给VisionPro使用,就必须要visionpro中能接收图像,即有inputimage。
首先我们来看看Image Source与CogAcqFifoTool这两个工具,在VisionPro中可以清楚的看到,这两个工具只能输出图像,并不能输入,所以这两个工具在我们使用相机SDK取像的时候是不能用的。
有人说那我使用CogImageConvertTool之类的带输入图像功能的工具行不行,当然行,只是某些工具不需要设置也会对图像做出改变,这个就需要自己判断了。正确的做法应该是使用CogToolBlock或者CogToolGroup,使用它们可以避免图像被处理,并且它们可以包裹很多工具,这样我们只需要运行这两个工具,里面的所有工具都会被运行,十分方便。
CogToolBlock默认是没有输入的,需要我们手动添加,如下图所示,添加的输入类型需要注意,图像一般是CogImage8Grey。
CogToolGroup的输入输出终端添加就比较麻烦了,前面我已经发布过相关教程,请看:VisionPro使用toolgroup工具组创建自定义小工具
CogToolGroup需要通过脚本来添加终端,自己参考下吧,这里不多介绍。
如何使用?
将visionpro处理流程保存成工具块对象,如下图所示,注意别保存错了。
然后C#加载这个工具块文件为CogToolBlock对象,并将通过SDK取得的图像赋值给这个CogToolBlock对象的输入终端,然后运行整个CogToolBlock即可。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/241974.html