(1.1)HALCON
HALCON是一款由德国MVTec公司开发的机器视觉软件包,包含一套完善的标准的机器视觉算法,应用范围广。

(1.2)VisionPro
美国康耐视公司开发的机器视觉软件,其编程接口支持c++、c#、.net等多种编程语言,提供完整的机器视觉开发工具。

(1.3)OpenCV
OpenCV是一个开源的计算机视觉和机器学习软件库,广泛应用于实时图像处理、计算机视觉和机器学习应用开发。

(1.4)DALSA Vision
加拿大DALSA公司开发的机器视觉软件,提供图像处理、特征检测、测量和识别等功能,广泛应用于各种工业自动化和质量控制领域。

在这里插入图片描述
在这里插入图片描述

using Cognex.VisionPro;
using Cognex.VisionPro.ImageFile;
using Cognex.VisionPro.ToolBlock;
using Cognex.VisionPro.Display;
using System;

using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private CogToolBlock mToolBlock;
        private CogImageFileTool mImageFileTool = new CogImageFileTool();
        //选择VPP文件
        private void button1_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog op = new OpenFileDialog()) {
                op.Filter = "VPP文件 | *.vpp";
                if (op.ShowDialog() == DialogResult.OK)
                {
                    var vppFilePath = op.FileName;
                    mToolBlock = (CogToolBlock)CogSerializer.LoadObjectFromFile(vppFilePath);
                }
            }
        }
        //配置图片资源
        private void button2_Click(object sender, EventArgs e)
        {
            cogRecordDisplay1.Record = null;
            using (OpenFileDialog op = new OpenFileDialog())
            {
               
                op.Filter = "图像文件 | *.png;*.jpg;*.bmp";
                if (op.ShowDialog() == DialogResult.OK)
                {
                    //获取到用户选择的图像的文件路径
                    var imgFilePath = op.FileName;
                    //使用VisionPro的图像工具(CogImageFileTool)操作对象读取数据
                    mImageFileTool.Operator.Open(imgFilePath, CogImageFileModeConstants.Read);
                    //执行图像工具,就会有个OutputImage
                    mImageFileTool.Run();
                    //显示图像
                    cogRecordDisplay1.Image = mImageFileTool.OutputImage;                    
                    //设置CogTookBlock工具的输入。  就是上面图像工具的输出
                    mToolBlock.Inputs["InputImage"].Value = mImageFileTool.OutputImage;
                    
                }
            }
        }
        //执行
        private void button3_Click(object sender, EventArgs e)
        {
            // 运行CogToolBlock 对象
            mToolBlock.Run();
            // 显示执行匹配后的输出图像 SubRecords[0] 是输入  SubRecords[1]  是输出
            var ss = mToolBlock.CreateLastRunRecord();
            cogRecordDisplay1.Record = mToolBlock.CreateLastRunRecord().SubRecords[0];
            labResult.Text = mToolBlock.Outputs["OutputCount"].Value.ToString();
        }
    }
}

VisionPro 脚本

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

VisionPro 应用程序向导 就是发布成 windowform应用

在这里插入图片描述

在这里插入图片描述

更多推荐