让代码更简单

VisionPro使用脚本与C#保存图片

重要:本文最后更新于2019-07-20 08:19:22,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

这篇文章算是解答付费用户的疑惑,前面已经讲过一种保存VisionPro保存cogRecordDisplay图像的方法。这种方式存在很大的局限性,这次有人提出要在脚本中保存某个工具的图像。如果再使用前面的方法,你会发现在visionPro脚本中是拿不到cogRecordDisplay对象的。不用怀疑,这是visionPro官方的回答,脚本中拿不到这个对象也就不能使用保存为图像的方法了。

今天的这个方法既可以在C#中保存图像,又可以在脚本中保存,非常实用,先看效果图。

VisionPro使用脚本与C#保存图片

VisionPro使用脚本与C#保存图片

先看C#写法,我一直建议大家先写C#再写脚本!

引入动态链接库

复制
using Cognex.VisionPro.ImageFile;
using Cognex.VisionPro.Blob;


隐藏内容,解锁需要开通VIP
登录/注册

如果你没看前面的文章,可能会觉得有些难懂。我这里省略了加载vpp,不懂请先阅读:C#与visionPro工业视觉教程——C#加载visionpro文件

康耐视官方说明,如果想保持图像,又得不到cogDisplay对象,请使用CogImageFileBMP对象来写入图像到磁盘中。

这里有点需要注意的是,CogImageFileBMP对象的Append方法只能接收ICogImage类型,所以我们需要先将ICogRecord类型的结果图像转换后才能使用。

C#脚本写法

在脚本的GroupRun方法中写入如下代码,和C#几乎一样,只是免去了取得工具组的代码。


隐藏内容,解锁需要开通VIP
登录/注册

在GroupRun方法中我们可以拿到所有的工具对象,剩下的自由发挥吧。

保存图片的方法已经讲过两种了,特别是这种比较通用的,以后请大家不要再问我怎么保存图片了!

感觉很棒!可以赞赏支持我哟~

17 打赏

评论 (4)

登录后评论
我就想知道脚本中,using Cognex.VisionPro.ImageFile 怎么引用
楼主,我怎么按时间或者序号保存照片,就是把test变成1,2,3,4,5名称保存下来
你把test改成你的序号不就行了,日期用Date类获取换上去不就好了。
然而并不能保存带运行记录的图片
QQ咨询 邮件咨询 狗哥推荐