CogImageFileTool读图

关于visionpro工具操作原理文章甚少,以下是本人自己查阅visionpro官方文档完成的:

题外话:对于这个工具,我更多的是在实现3D项目的工作上面遇到过,因为有些3D项目就是需要运行两张图片,一张是idb格式的(存放3D信息),一张是png或其他格式。cognex自带的image source可以读取一张,这个CogImageFileTool也可以读取一张。但是我还得说明一下这个工具不可以连续的读图,需要连续读取两张图的话要使用到脚本来实现(后面写一写)。工具长这个亚子:

VisionPro使用称为采集FIFO(先进先出)队列的对象来采集图像。要获取图像,请向FIFO发出请求。发出请求后,您可以继续执行其他任务(包括发出更多采集请求),也可以等待采集过程完成并获得图像。采集FIFO首先处理最旧的请求,并对在采集图像时可能到达的任何其他请求进行排队。当您获取图像时,它们会从FIFO中删除。 (FIFO在数据结构里面挺常见的)

不连续读图(点击正方形框的按钮就可以):

剩下的操作就是将图片引入其他工具的常规操作。

连续读图功能:


连续读取两张图片需要使用到高阶脚本语句(c# Advanced script)。

核心语句(注意了路径不可以使用"\",这个会报错无法转义):

    CogImageFileTool picture = new CogImageFileTool();//实例化picture
    picture.Operator.Open("‪‪‪D:/1.png", CogImageFileModeConstants.Read);//name为图片名字,其中 
    CogImageFileModeConstants常量包括Read和Write,这里用的是读图Read,而Write可以用于保存图片.
    picture.Run();//工具运行,这个时候就已经把图片读取进来了
    

如果你要实现将这个代码传给其他的工具,举个例子,传给Blob工具,可以这样写:

    string path="xxxxxx";//定义图片路径    
    CogImageFileTool picture = new CogImageFileTool();//实例化变量picture
    picture.Operator.Open(path, CogImageFileModeConstants.Read);//path为图片路径,其中 
    CogImageFileModeConstants常量包括Read和Write,这里用的是读图Read,而Write可以用于保存图片.
    picture.Run();//工具运行,这个时候就已经把图片读取进来了
    CogBlobTool blob1 = mToolBlock.Tools["CogBlobTool1"] as CogBlobTool;//声明一个CogBlobTool类型的工具blob1
    blob1.InputImage = picture.OutputImage;//blob1获取变量picture读取的图片
    blob1.Run();//工具blob1运行

 如果你想连续的读图,其实已经非常容易了,那就是用一个for循环,在读取图片路径的地方设置一个i,这个i可以每读一张就加1,你在图片名字的地方将他们修改为有顺序的名字就可以了。

来一段代码(这个代码的作用是读取文件夹的类型为png的图片,并且顺便统计了数量):

    ArrayList lisName = new ArrayList();
    foreach (FileInfo file in folder.GetFiles("*.*", SearchOption.AllDirectories))//读取文件夹图片
        {
          count++;//count统计读了多少张图片
          if (file.Name.Contains(".png"))//判断图片包括.png后缀
          {
            string[] ArraystPngName = file.Name.ToString();//获取图片名字
            lisName.Add(ArraystPngName[0]);//列入一个listName列表
          }
        }

当然这个些脚本都是一个作业流程的开头部分,后面的重点还是对图像进行处理! 以上的代码都是手敲的,难免可能存在疏忽,但是思路应该是对的,希望可以帮到你!

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值