【机械视觉】C#+visionPro联合编程———【一、C# + VisionPro 联合编程详解以及如何将visionPro工具加载到winform】

机械视觉与 C# + VisionPro 联合编程详解

目录

机械视觉与 C# + VisionPro 联合编程详解

概念

应用场景

1. 工业检测与质量控制缺陷检测

2. 定位与机器人引导

3. 识别与分类

4. 复杂流程控制

将visionPro工具加载到winform

环境准备

一、创建winform项目

二、打开窗体工具箱右键 点击选择项

三、打开选择工具箱项后分别等待一下组件加载完成(.NET Framework 组件、COM 组件、WPF 组件、通用Windows 组件)

四、将visionPro控件加载到.NET Framework中(默认路径为:C:\Program Files\Cognex\VisionPro\ReferencedAssemblies)

五、加载完成后点击确定就成功导入,然后就可以在winform中使用visionPro工具

加载过程中可能遇到的问题以及解决办法

一、找到C:\Program Files\Cognex\VisionPro\ReferencedAssemblies文件路径

二、将其中的所有文件迁移到其他地方

三、进行加载

四、加载完成后将文件迁移回去即可解决当前问题,然后按照正常步骤加载visionPro工具即可。


概念

机械视觉(机器视觉)是通过计算机和图像处理技术,模拟人类视觉功能,用于工业自动化中的检测、定位、识别、测量等任务。
C# 与 VisionPro 联合编程 是指利用 C# 语言的灵活性和 VisionPro(康耐视的工业视觉软件)的专业算法库,开发定制化的视觉应用系统。

应用场景

1. 工业检测与质量控制
缺陷检测

  • 检测产品表面划痕、裂纹、污渍等(如金属零件、玻璃、PCB板)。

工具:使用 CogBlobTool(斑点分析)或 CogEdgeTool(边缘检测)识别异常区域。

流程:采集图像 → 预处理(去噪、增强) → 特征提取 → 判断缺陷。

尺寸测量

  • 测量工件的长度、直径、角度等几何参数(如螺丝、齿轮)。

工具:CogCaliperTool(卡尺工具)精确测量边缘间距。


2. 定位与机器人引导

目标定位

  • 通过视觉确定工件位置,引导机械臂抓取(如汽车装配、电子元件贴装)。

工具:CogPMAlignTool(模式匹配)或 CogCNLSearchTool(几何匹配)。

关键点:需将视觉坐标系(像素)转换为机械臂坐标系(毫米)。

3D 定位

  • 使用 3D 相机(如激光轮廓仪)获取深度信息,结合 Cog3DVisionTool 进行立体定位。

3. 识别与分类

OCR(光学字符识别)

  • 读取产品上的序列号、生产日期(如药品包装、食品标签)。

工具:CogOCRTool 或 CogIDTool(支持多种字体和旋转角度)。

条码/二维码识别

  • 物流分拣、库存管理中的条码扫描。

工具:CogIDTool 支持一维码、二维码(QR、DataMatrix)。

4. 复杂流程控制

多相机协同

  • 多工位检测系统,同步处理多个相机的图像(如汽车生产线)。

技术:利用 C# 多线程或异步编程(Task、async/await)管理并行任务。

动态参数调整

  • 根据环境变化(如光照、温度)实时调整视觉参数。


将visionPro工具加载到winform

环境准备

安装 VisionPro 及工具
确保安装 VisionPro 软件开发包(如 VisionPro® 9 或更高版本),包含必要的库(如 Cognex.VisionPro.dll)和工具。

开发环境

使用 Visual Studio(推荐较新版本,如 VS 2019/2022)创建 C# 项目(Windows 窗体、WPF 或控制台应用)

一、创建winform项目

二、打开窗体工具箱右键 点击选择项

三、打开选择工具箱项后分别等待一下组件加载完成(.NET Framework 组件、COM 组件
、WPF 组件、通用Windows 组件)

四、将visionPro控件加载到.NET Framework中(默认路径为:C:\Program Files\Cognex\VisionPro\ReferencedAssemblies)

五、加载完成后点击确定就成功导入,然后就可以在winform中使用visionPro工具


加载过程中可能遇到的问题以及解决办法

问题:

在选择工具箱项组件加载中程序有可能会卡死,加载不出的问题

解决办法:

在桌面在其他地方创建一个文件夹然后找到C:\Program Files\Cognex\VisionPro\ReferencedAssemblies,这个visionPro工具默认路径,将路径下的所有文件全部迁移到另一个文件夹中,然后进行加载。加载完成后再将这个文件重新迁移回去,问题就可以解决。

一、找到C:\Program Files\Cognex\VisionPro\ReferencedAssemblies文件路径

二、将其中的所有文件迁移到其他地方

三、进行加载

四、加载完成后将文件迁移回去即可解决当前问题,然后按照正常步骤加载visionPro工具即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/71473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改hosts文件,修改安全属性,建立自己的DNS

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

对NXP提供的BSP里边所使用的u-boot的环境变量`bootcmd`的解析

为什么我们要解析环境变量bootcmd? 承接博文 https://blog.csdn.net/wenhao_ir/article/details/145902134 继续解析u-boot的环境变量bootcmd。 为什么要解析u-boot的这个环境变量bootcmd?因为如果u-boot在倒计时完后,首先执行的是就是下面这条命令&am…

NSSCTF [SWPUCTF 2024 秋季新生赛]金丝雀

5948.[SWPUCTF 2024 秋季新生赛]金丝雀 canary绕过和64位的ret2libc(格式化字符串泄露) (1) motalymotaly-VMware-Virtual-Platform:~/桌面$ file xn xn: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.…

神经网络中梯度计算求和公式求导问题

以下是公式一推导出公式二的过程。 表达式一 ∂ E ∂ w j k − 2 ( t k − o k ) ⋅ sigmoid ( ∑ j w j k ⋅ o j ) ⋅ ( 1 − sigmoid ( ∑ j w j k ⋅ o j ) ) ⋅ ∂ ∂ w j k ( ∑ j w j k ⋅ o j ) \frac{\partial E}{\partial w_{jk}} -2(t_k - o_k) \cdot \text{sigm…

koa-session设置Cookie后获取不到

在谷歌浏览器中请求获取不到cookie问题之一(谷歌安全策略) 场景 前端使用 axios 请求,项目地址:http://192.168.8.1:5173 import axios from axiosconst request axios.create({baseURL: http://127.0.0.1:3001/,timeout: 60000,…

单元测试与仿真程序之间的选择

为什么写这篇文章 现在的工作需求,让我有必要总结和整理一下。 凡事都有适用的场景。首先这里我需要提示一下,这里的信息,可能并不普适。 但是可以肯定一点的是,有些人,不论做事还是写书,上下文还没有交待…

如何在Android中实现图片加载和缓存

在Android中实现图片加载和缓存是提升应用性能和用户体验的关键环节。高效的图片加载和缓存策略能够减少内存占用、避免应用卡顿,并快速响应用户的图片查看需求。以下是在Android中实现图片加载和缓存的几种常见方法: 一、使用第三方图片加载库 1. Gli…

FusionInsight MRS云原生数据湖

FusionInsight MRS云原生数据湖 1、FusionInsight MRS概述2、FusionInsight MRS解决方案3、FusionInsight MRS优势4、FusionInsight MRS功能 1、FusionInsight MRS概述 1.1、数据湖概述 数据湖是一个集中式存储库,允许以任意规模存储所有结构化和非结构化数据。可以…

推荐几款优秀的PDF转电子画册的软件

当然可以!以下是几款优秀的PDF转电子画册的软件推荐,内容简洁易懂,这些软件都具有易用性和互动性,适合不同需求的用户使用。​ ❶ FLBOOK|在线创作平台 支持PDF直接导入生成仿真翻页电子书。提供15主题模板与字体库&a…

【GoTeams】-2:项目基础搭建(下)

本文目录 1. 回顾2. Zap日志3. 配置4. 引入gprc梳理gRPC思路优雅关闭gRPC 1. 回顾 上篇文章我们进行了路由搭建,引入了redis,现在来看看对应的效果。 首先先把前端跑起来,然后点击注册获取验证码。 再看看控制台输出和redis是否已经有记录&…

深度学习反向传播

一、白话解释 梯度其实就是导数,除了用符号求导也可以用近似求导: 然后更新ww-学习率*导数 反向传播就是链式求导 向前计算:对每个节点求偏导 在前向传播的时候,进行一次前向计算的时候就可以把每一条线的偏导数都知道 前向传…

JavaWeb-HttpServletRequest请求域接口

文章目录 HttpServletRequest请求域接口HttpServletRequest请求域接口简介关于请求域和应用域的区别 请求域接口中的相关方法获取前端请求参数(getParameter系列方法)存储请求域名参数(Attribute系列方法)获取客户端的相关地址信息获取项目的根路径 关于转发和重定向的细致剖析…

deepseek在pycharm 中的配置和简单应用

对于最常用的调试python脚本开发环境pycharm,如何接入deepseek是我们窥探ai代码编写的第一步,熟悉起来总没坏处。 1、官网安装pycharm社区版(免费),如果需要安装专业版,需要另外找破解码。 2、安装Ollama…

AAA协议:从零认识网络的“身份管家”

AAA(Authentication, Authorization, Accounting,认证、授权和计费)是网络世界的“身份管理员”,负责确认“你是谁”、决定“你能干啥”、记录“你干了啥”。如果你用过华三的交换机或路由器,可能在配置用户管理时见过…

动态规划01背包问题系列一>最后一块石头的重量II

这里写目录标题 题目分析:状态表示:状态转移方程:初始化:填表顺序:返回值:代码呈现:优化版本:代码呈现: 题目分析: 状态表示: 状态转移方程&#…

逐行拆解 C 语言:数据类型、变量

今日,我们即将踏上一段充满趣味与挑战的学习之旅,深度钻研数据类型的多样奥秘,解锁变量创建的实用技巧。不仅如此,还会邂逅两个实用的基础库函数,探索它们在程序中穿针引线的奇妙作用。同时,几个简洁却强大…

【音视频】ffplay简单过滤器

一、ffplay简单过滤器 视频旋转:借助transpose滤镜 ffplay -i 1.mp4 -vf transpose1这里选择不同的数字是不同的方向: 视频翻转:借助hflip/vflip实现水平和垂直翻转: 水平翻转 ffplay 1.mp4 -vf hflip垂直翻转 ffplay 1.mp4 …

springboot中注解有什么用

注解(Annotation)是 Java 的一个重要特性,我用几个具体例子来解释: 1、标记功能 Service // 告诉Spring这是一个服务类 public class UserService { }Data // 告诉Lombok自动生成getter/setter public class User {private…

Excel中COUNTIF用法解析

COUNTIF 是 Excel 中一个非常实用的函数,用于统计满足某个条件的单元格数量。它的基本语法如下: 基本语法 COUNTIF(范围, 条件) 范围:需要统计的单元格区域,例如 A1:A10 或整列 A:A。 条件:用于判断哪些单元格需要被…

java根据List<Object>中的某个属性排序(数据极少,顺序固定)

public static void main(String[] args) { List<HashMap<String, Object>> dydj new ArrayList<>(); // 模拟原始数据 HashMap<String, Object> map1 new HashMap<>(); map1.put(“city_name”, “张家口”); map1.put(“wjs”, 0); map1.put…