关于vb.net开发视觉案例的信息

如何在VB,VC和.NET中使用halconHALCON对于机器视觉的学习者、开发者而言并不陌生,称其为机器视觉领域第一软件 , 亦无可厚非 。
HALCON对于视觉系统的控制、图像的处理和分析都能够较好的实现,尤其是各种图像处理算法 。但就其本身而言,开发用户界面并不理想 。用户界面以及对于其他底层的控制,比如和底层电路板、PLC等的控制和通信 , 可通过VC、VB等进行开发 。方便的是,HALCON恰恰能够被这些开发工具所调用,它支持C、C、VB、JAVA等等 。
刚开始结合VC结合HALCON进行学习和开发时,因为软件方面的薄弱,对如何在VC中如何调用HALCON感到不知所措 , 也在网上找vb.net开发视觉案例了一些资料,资料较少,基本内容相同,或许能用 , 但始终对于笔者个人而言不太灵光 。后来在一位软件同事的指导下 , 对其有了较为深刻的了解,其实说到底对软件工程师而言这是一件很简单的事,也就是将HALCON的库导入VC。
以下,针对初学者一步步介绍 , 以MFC作为开发工具 。
在Visual Studio中新建项目选择Visual C下的MFC,其中的MFC应用程序,建立过程不赘述 。本文以Visual Studio 2005为例 。
打开HALCON安装目录(以HALCON7.0为例 , 后面的版本也相同),如下图1所示vb.net开发视觉案例:
将其中的include文件夹整个拷贝至所建MFC项目工作目录下 , 如下图2所示:
同样,将HALCON的LIB文件拷贝到所建MFC项目工作目录下 , 因使用C进行开发,所以选择X:Program FilesMVTecHALCONlibi586-nt4下的halconcpp.lib,这里X:为安装盘符
打开stdafx.h,在文件中空白位置处,加入
#include "include/cpp/HalconCpp.h"
#prama comment(lib,"halconcpp.lib")
下一步,点击项目下的属性,如下图6所示:
点开配置属性中的C/C,如下图7所示:
当点在附加包含目录右侧空白框时,会出现的图标,点开,如下图8所示:
点击新建行 , 将所建MFC项目工程目录下的include文件夹的地址输入,也就是刚才vb.net开发视觉案例我们拷贝过去的那个文件夹
最后一步 , 在需要使用HALCON库的地方 , 将其头文件导入,以****Dlg.cpp为例
这样我们就算成功在VC/MFC中导入了HALCON库文件,就可以调用HALCON的函数,使用其强大的算法 。另外,单纯执行上述步骤后,按F5启动调试,应该是不会有任何的ERROR和WARNING的 。此方法同样适用于VB,在此不赘述,VB的开发者可自行尝试 。
vb可以用来做机器视觉开发吗VB是可以的 。例如常规,像素RGB范围匹配模式,二值化对比模式也都是仅仅数十行代码可以实现 。当然一些高级的工件自由检测,如指纹算法模式 , 非基准轮廓对比等就是看自己的VB功力了 。
首先 , 硬件方面
1、相机最好要支持VB6的SDK开发包,这样事半功倍;
2、如果检测环境无法做防干扰屏蔽罩时 , 必须选用窄通红外相机配合红外光源 , 一般透光波长选择800·900纳米范围,缺点是这样的相机只有灰度图像;
3、检测误报率与环境光源干扰、信噪比、曝光稳定性、白平衡等有重要关系;
4、检测响应速度与相机帧率、相机像素大小、控制器CPU、上位机计算程序代码写法有关;
5、如果被检查工件之间的颜色差异非常明显如黑与白,蓝与黄,红与绿且检测精度要求低或仅检测有无 , 则可以选择低端的普通摄像头、一般的白光光源 。但最好要防干扰屏蔽罩;
6、相机的I/O触发可有可无,一般通过软触发 。因此要配一块串口通讯的单片机,根据实际检测功能配置合适的输入和输出点数 , 其作用是上位机控制相机和外接其它功能设备 。土豪当然也可以直接用PLC 。
7、软件基本逻辑是,上位机软件触发相机拍照,程序将照片二值化处理或轮廓提取,分析与基准图像的差异并作出判断 。I/O卡输出信号控制其它外接设备工作 。
检测分为,ROI匹配或全图匹配 。ROI匹配即通过VB上位机软件设定,只检测需要检测的部分,大大减少CPU计算量,提升检测响应速度 。全图匹配,不建议使用,不但误报高,而且吃CPU 。
希望这些信息可以帮到你 。
有没有人能详细的说明vb.net 的特点,优缺点及应用领域?最好也举个运用VB.NET的例子?。?/h2>Visual Basic .NET Visual Basic.NET是基于微软.NET Framework之上的面向对象的中间解释性语言vb.net开发视觉案例 , 可以看作是Visual Basic在.Net Framework平台上的升级版本,增强vb.net开发视觉案例了对面向对象的支持 。但由于改动太大,导致VB.net对VB的向后兼容性不好,在业界引起不小的争议 。大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment). SharpDevelop是另一种可用的开源的IDE 。VB.Net需要在.Net Framework平台上才能执行 。VB.NET的主页1 目前版本 2005年9月以来,存在三种不同版本的Visual Basic .NET. 1 Visual Basic .NET:是随vc#和ASP.NET一起在2002年发布的最初始的VB.net版本 。C#被大力宣传为微软对付JAVA的王牌 , 受到媒体极力关注 。然而VB.NET(有时被称为VB7)影响面不广,这导致VB社区之外很少人关注它 。那些试用过此版VB.NET的人在层层幕布下发现一个强大却艰深的语言,而且还有不少弱点 , 比如它比VB6来有一个大了十倍的进行时(RunTime),内存footprint也大大增加 。2 Visual Basic .NET 2003:是和.NET Framework 1.1一起发布的 。新功能包括对.NET Compact Framework的支持和更好的VB升迁向导 。并改进了运行状况,IDE稳定性(尤其是后台编译器),以及运行时RunTime稳定性 。另外,VB.NET 2003还有一个学院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分发给各国某些学者免费使用的版本 。3 Visual Basic 2005:VB2005是VB.Net的重大转变,微软决意在其软件名称中去掉了.NET部份 。在VB2005中,微软增加了许多新功能,以引用VB对于初学者来说的一些优点vb.net开发视觉案例: A, Edit and Continue - 也许是从VB那里丢掉的最大的功能,允许代码的编辑和执行立即的执行恢复 。B, Design-time expression evaluation C, My伪命名空间 , 提供了访问.NET Framework特定域的不需大量编码的简单方式vb.net开发视觉案例;还能动态产生类(显然的是My.Forms);提供了改进的VB到VB.NET转换向导;Using 语法,简化了需要部署pattern to free resources的对象的使用;My编码 , 可隐藏由VB.NET IDE写的模板代码;数据源绑定,简化了数据库C/S开发 上述功能(尤其是My)增强了VB.Net成为快速开发应用平台的可能,并与C#进一步区别开来 。参见: 使用My开发 通过My命名空间访问.NET Framework 和项目 Visual Basic 2005 通过增加新功能而填补了和其它所谓更强大的.NET语言的差距 。A, 增加了.NET 2.0语言功能包括:generics和Partial类(在一个文件里定义一个类的某部份然后再添加更多的定义,这个方法在整合用户编码和系统自动生成编码时尤其有用) 。B, XML注释,可以被NDoc等工具处理而自动生成文档 C, operator overloading D, 支持在其它语言中已经广泛使用的unsigned integer数据类型 。E, 支持在许多C衍生编程语言已提供的复合操作符如:" =", "-=" 4, IsNot专利:If Not X Is Y表达式被转换成If X IsNot Y 。当微软为IsNot申请专利时招致了恶名(尤其来自Real公司) 。5, Visual Basic 2005 Express:作为VS产品线上的一部份,VB2005 Express是专为业余爱好者和新手定制的免费的VS Express系列的一员 。Express版本目的定位在帮助人们学习一种语言,所以他们有和标准版一致的用户界面,只是少了一些高级功能 。另外,VS查看更多答案
记得采纳啊
vb.net程序(VS2010开发)中如何嵌入百度地图?求编程大神指导这个说简单也简单 , 百度google都有自己的地图接口,去找一下接口调用说明 , 里面都有案例 。在程序里面调用即可 。至于调用后具体的功能则需要查询接口函数 。我以前做过google的,百度的实际上也是一样
VB.NET中的TextBox控件详解TextBox组件(文本框组件)是一种常用的 也是比较容易掌握的组件 应用程序主要使用它来接收使用者于输入文字信息 在前面内容中已经或多或少的接触到TextBox组件 本节就来详细探讨一下Visual 中TextBox组件的使用方法一 TextBox组件 TextBox类当我们使用Visual Basic Net集成开发环境开发应用程序时 在从【工具箱】的【Windows窗体】选项卡中向Form 的设计窗体拖入一个TextBox组件的后 我们可能并没有感觉到即使时这样一个简单的操作 Visual Basic Net都做了很多幕后工作 主要工作和步骤如下首先实例化System Windows Forms TextBox类 并根据拖动到窗体的位置和形状分别设定TextBox实例的各个属性我们看到的设计窗体 其实是Form 类的一个实例 而Form 类首先是从System Windows Forms Form类继承而来 Form 类中的成员根据使用者往窗体中拖入的组件不同而不同 各个成员通过Add或AddRange方法加入到Form 中 这样拖入的组件才能够显示在设计窗体上 以上这些都完全不同于以前Visual Basic 通过上述步骤 我们不难得到TextBox组件和TextBox类之间的关系 TextBox组件是命名空间System Windows Forms中的TextBox类的实例 在从【工具箱】的【Windows窗体】选项卡中拖入窗体的任一组件 都是 Net框架类库—— Net Framework SDK中封装的某一个类的实例 通过上述步骤也不难看出 Visual Basic Net的确才是真正的面向对象(OOP)的开发语言二 TextBox类的成员TextBox组件使用虽然比较简单 但TextBox类的构成成员却是非常的丰富 在一般性的编程中 主要涉及到三类 属性 方法和事件 表 表 和表 分别是TextBox类的常用属性 方法和事件及其简单说明 属性 说明 AcceptsReturn 指示在多行TextBox组件中按ENTER键时 是在组件中创建一行新文本还是激活窗体的默认按钮 AcceptsTab 该值指示在多行文本框组件中按TAB键时 是否在组件中键入一个TAB字符 而不是按选项卡的顺序将焦点移动到下一个组件 AllowDrop 获取或设置一个值 该值指示组件是否可以接受用户拖放到它上面的数据 Anchor 获取或设置组件的哪些边缘锚定到其容器边缘 BackColor 获取或设置组件的背景色 BackgroundImage 获取或设置在组件中显示的背景图像 BorderStyle 获取或设置文本框组件的边框类型 Bottom 获取组件的下边缘与其容器的工作区的上边缘之间的距离 CanFocus 获取一个值 该值指示组件是否可以接收焦点 CanSelect 获取一个值 该值指示是否可以选中组件 CanUndo 获取一个值 该值指示用户在文本框组件中能否撤消前一操作 CharacterCasing 获取或设置TextBox组件是否在字符键入时修改其大小写格式 ContextMenu 获取或设置与组件关联的快捷菜单 Reated 获取一个值 该值指示组件是否已经创建 Cursor 获取或设置当鼠标指针位于组件上时显示的光标 DataBindings 为该组件获取数据绑定 Dock 获取或设置组件停靠到父容器的哪一个边缘 Enabled 获取或设置一个值 该值指示组件是否可以对用户交互作出响应 Focused 获取一个值 该值指示组件是否有输入焦点 Font 获取或设置组件显示的文字的字体 ForeColor 获取或设置组件的前景色 MaxLength 获取或设置用户可以在文本框组件中最多键入的字符数 Multiline TRUE/FALSE 该值指示它是否为多行文本框组件 PasswordChar 获取或设置字符 该字符用于屏蔽单行 ScrollBars 获取或设置哪些滚动条应出现在多行TextBox 组件中 Text 获取或设置文本框中的当前文本 TextAlign 设置文本框内文本得对齐方式 TextLength 获取组件中文本的长度表 TextBox类的常用属性及其说明 方法 说明 AppendText 向文本框的当前文本追加文本 Clear 从文本框控件中清除所有文本 ClearUndo 从该文本框的撤消缓冲区中清除关于最近操作的信息 Copy 将文本框中的当前选定内容复制到剪贴板 Cut 将文本框中的当前选定内容移动到剪贴板中 DoDragDrop 开始拖放操作 Focus 为控件设置输入焦点 GetChildAtPoint 检索位于指定坐标处的子控件 GetNextControl 按照子控件的Tab键顺序向前或向后检索下一个控件 Hide 对用户隐藏控件 Paste 用剪贴板的内容替换文本框中的当前选定内容 PointToClient 将指定屏幕点的位置计算成工作区坐标 PointToScreen 将指定工作区点的位置计算成屏幕坐标 ResetBindings 将DataBindings属性重置为其默认值 Select 选择控件中的文本 SelectAll 选定文本框中的所有文本 SelectNextControl 激活下一个控件 Show 向用户显示控件 SuspendLayout 临时挂起控件的布局逻辑 Undo 撤消文本框中的上一个编辑操作
表 TextBox类的常用方法及其说明
事件 说明 Click 在单击文本框时发生 CursorChanged 当 Cursor 属性的值更改时发生 DoubleClick 在双击控件时发生 DragDrop 在完成拖放操作时发生 DragEnter 在将对象拖入控件的边界时发生 DragLeave 在将对象拖出控件的边界时发生 DragOver 在将对象拖到控件的边界上发生 EnabledChanged Enabled 属性值更改后发生 Enter 进入控件时发生 GiveFeedback 在执行拖动操作期间发生 GotFocus 在控件接收焦点时发生 KeyDown 在控件有焦点的情况下按下键时发生 KeyPress 在控件有焦点的情况下按下键时发生 KeyUp 在控件有焦点的情况下释放键时发生 Leave 在输入焦点离开控件时发生 LostFocus 当控件失去焦点时发生 MouseDown 当鼠标指针位于控件上并按下鼠标键时发生 MouseEnter 在鼠标指针进入控件时发生 MouseHover 在鼠标指针悬停在控件上时发生 MouseLeave 在鼠标指针离开控件时发生 MouseMove 在鼠标指针移到控件上时发生 MouseUp 在鼠标指针在控件上并释放鼠标键时发生 MouseWheel 在移动鼠标轮并且控件有焦点时发生 Move 在移动控件时发生 Paint 在重绘控件时发生 Resize 在调整控件大小时发生
TextBox类的常用事件及其说明当然TextBox类除了上述的属性 方法和事件 还有很多属性 方法和事件 和很多受保护的方法和受保护的属性 由于它们使用的几率较少和篇幅所限 就不能一一介绍了 感兴趣的朋友可以参阅相关资料
三.掌握TextBox组件的基本用法由于TextBox类的成员实在太丰富 一个示例要想介绍上述所有的方法 属性和事件是不可能 在下面介绍的示例中 将突出介绍在Visual 集成开发环境下通过对设定不同的属性值实现三种常见的TextBox组件式样 以及TextBox组件的方法的调用方法和在Visual Basic Net集成开发环境中如何加入TextBox组件不同事件对应的处理代码 让各位更加熟悉TextBox类和Visual Basic Net开发环境 下面是TextBox示例的具体实现步骤启动Visual Studio Net选择菜单【文件】|【新建】|【项目】后 弹出【新建项目】对话框将【项目类型】设置为【Visual Basic项目】将【模板】设置为【Windows应用程序】在【名称】文本框中输入【TextBox组件】在【位置】的文本框中输入【E:\项目】 然后单击【确定】按钮 这样在 E:\VS NET项目 目录中就产生了名称为 TextBox组件 的文件夹 并在里面创建了名称为 TextBox组件 的项目文件把Visual Studio Net的当前窗口切换到【Form VB(设计)】窗口 并从【工具箱】中的【Windows窗体组件】选项卡中往Form 窗体中拖入下列组件 并执行相应操作 三个Label组件 三个TextBox组件 分别为TextBox TextBox 和TextBox按照表 中数值来设定设定组件的主要属性 请注意TextBox组件中的属性设定值
表 【TextBox组件】项目窗体中各组件的主要属性设定数值表
按照表 各值设定后的TextBox组件三种常用的式样也就产生了 具体如图 所示
图 程序设计时TextBox组件三种常见使用方法
这三种式样就是单行的TextBox组件 多行的TextBox组件和用以输入类似密码数据的TextBox组件为TextBox 组件添加事件和事件的处理代码 此次添加的事件的名称是Leave 当TextBox 组件失去焦点时触发此事件 添加TextBox 组件的其vb.net开发视觉案例他事件也可仿照下面的处理方法 下面是利用Visual Basic Net在【TextBox组件】项目中添加TextBox 组件的Leave事件和添加Leave事件的处理代码的具体步骤 首先把Visual Basic Net的当前窗口切换到Form vb的代码编辑界面 然后在如图 所示的选择框中选择TextBox
图 选择TextBox组件
之后 在图 所示的选择框中选择 Leave
图 选取Leave事件
在选择 Leave 之后 Visual Basic Net会自动在Form vb中产生TextBox 的Leave事件 在Leave事件的事件处理代码区添加下列代码 下面代码调用了TextBox 组件的 Clear 方法并且显示一个TextBox 组件失去焦点的提示框
TextBox Clear ( ) 清除TextBox 组件的显示内容MsgBox ( 失去焦点vb.net开发视觉案例! ) 弹出提示框
至此【TextBox组件】项目的全部工作就完成了 图 是程序编译后运行界面
图 【TextBox项目】的运行界面
lishixinzhi/Article/program/net/201311/12721
康耐视视觉系统添加工具要改脚本吗?Visionpro 软件是一款非常好用的机器视觉软件 , 它降低了开发人员的入门门槛,一个简单的机器视觉项目,只需要拖拉窗口,设定下参数,就可以立刻完成部署上线,开发效率是非常高的 。
但这种模式也会降低开发的灵活性 , 值得高兴的是Visionpro也帮我们考虑到了这点,可以通过VisionPro脚本来拓展我们需要的功能 , 该脚本可以由C#或者VB.NET来编写 , 无需再学习新的编程语言 。这样使得Visonpro开发机器视觉项目变得更加高效和灵活 。下面我么就来介绍一下VisionPro脚本的使用方式 。
1.VisionPro脚本的目的
VisionPro脚本主要是用来辅助QuickBuild工程 , 灵活拓展QuickBuild工程应用 。它通常与VisionPro代码一起或者代替VisionPro代码来运行 。
2.什么情况下使用脚本
1.QuickBuild和应用程序向导不能实现你想要的功能的时候;
2.拓展QuickBuild和应用程序向导的功能 。
3.VisionPro脚本分为:作业脚本 , 工具组脚本,工具块脚本;
1.作业脚本
(1.)作业脚本用途
通过作业脚本,我们可以访问作业属性 , 对图像采集参数进行设置和控制图像采集过程 。
(2.)如何进入图像脚本编程界面
1.打开作业
2.点击配置-作业属性-编辑脚本
这里有C#和VB.Net脚本可以供选择,可以根据自己专长来选择,案例中我们都以c#为首选语言 。
3.选择C#脚本,进入编译区域
2.工具组脚本
(1.)工具组脚本用途
控制工具组里工具的执行顺序,拓展工具无法实现的功能 。
(2.)如何进入工具组脚本编程界面
1.打开作业
2.点击创建-编辑脚本工具-C#脚本
3.工具块脚本
(1.)工具块脚本用途
可以将多个工具封装成一个工具块,该工具块具有特殊功能和自定义的输入输出端口,同时工具块可以被其它程序复用 。
(2.)如何进入工具组脚本编程界面
1.打开作业
2.进入作业-添加工具块工具
3.进入工具块-添加c#脚本-进入脚本编译区域
这里有C#和VB.NET两种脚本语言,同时每种脚本又有简单和高级两种脚本 。
工具块(ToolBlock)脚本结构和工具组(ToolGroup)脚本结构大致一致,这里就不在复述了,可以参考工具组脚本结构学习 。
【关于vb.net开发视觉案例的信息】关于vb.net开发视觉案例和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读