欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Sherlock软件及VB编写.ppt

    • 资源ID:5448056       资源大小:3.99MB        全文页数:79页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Sherlock软件及VB编写.ppt

    ,1,Sherlock 机器视觉应用软件,2,Sherlock 是什么?,功能齐全,性能优越,配置简便,多视野的视觉分析软件,Sherlock是一先进的机器视觉软件,极易配置操作,适用于各种各样自动化检测应用。其基于Windows,点击式,可快速试验及开发的图形式环境平台提供部署了丰富的经实践证明的图像工具和处理功能。,3,通过鼠标点击,即可配置,无需传统编程丰富的高性能机器视觉处理操作和算法全面的图形式用户界面,开发实施迅速接口灵活,允许算子接口定制OPC兼容接口允许数据与其它应用分享广泛的调试和帮助支持,Sherlock 是什么?,4,Sherlock 是什么?,多应用工具箱:各种面性和线性感兴趣区域广泛的预处理器先进的定位/模式寻找精确的测量工具实用的标定,纠正线性/非线性畸变强大的分析工具:Blob分析,边缘计数等。准确的彩色对映/分类可靠的读码器,OCR/一维码/二维码方便的脚本编辑工具易用的算法定制灵活的I/O接口,PLC和VB前端用户接口,5,Sherlock界面介绍,主菜单栏,主工具栏,打开和关闭各种图形窗口(程序窗口,监视窗口等),控制并执行图像窗口所显示的内容,控制Sherlock应用程序的外观及通讯设置,控制图像窗口的版面分布,创建一个新的程序,粘贴/复制程序模块,单步/连续运行程序,停止/中断、调试程序,控制Sherlock应用程序的外观及通讯设置,保存或另存当前的程序,6,Sherlock界面介绍,添加ROIs检测区域,显示选项设置对话窗,放大,还原,缩小图像,开始/停止图象窗口中的相机采集图像,不进行处理功能,装载、保存图像文件,Sherlock图像窗口,7,Sherlock界面介绍,当你在图像窗口中进行了算法与预处理的添加、设置后,与之相关的详细处理过程及各种结果参数都将会在程序窗口中显示出来。,每一个算法的输入或输出都会通过程序窗口显示出来。在Sherlock中总共有五种类型的变量:Number(N),Boolean(B),String(S),Point(P),Line(L).每种类型的变量都有相应的数组变量:N、B、S、P、L,8,Sherlock界面介绍,程序单元的排列设置:当你在向程序窗口中添加程序时,由于逻辑上的要求你可能要重新布置各模块单元的位置.你只需通过拖拉的方式便能实现程序单元位置的调整。,要将 ROI LineA 移动到 RectA的上方,首先选中它,然后按住鼠标左键不放,拖拉它至 RectA的顶部,然后释放鼠标左键,9,Sherlock界面介绍,通过通用指令你可以控制程序的执行。在 Program 图形工具栏都可以选择这些指令。,调用子程序,设置程序执行的逻辑判断条件,在某一条件下重复执行指令,添加设置子程序,从某一执行语句跳变到程序任意位置,指令窗口,10,Sherlock界面介绍,变量窗口快捷工具栏:用于向程序中添加各种类型的变量以便保存检测数据,变量窗口用于在程序运行时候,显示程序中各种类型的输入/输出参数变量值。参数变量的值都要随着程序的运行进行实时的更新,变量窗口,11,Sherlock界面介绍,The Monitor监视窗口显示程序运行信息,例如警告,错误,以及执行时间。如要打开监视窗口,选择主菜单栏 View ViewMonitor。,清除显示信息,开启/关闭信息,保存显示信息为文档,设置显示信息内容,监视窗口,12,Sherlock界面介绍,通过 IO:Reporter Print 指令我们可以将程序中的检测数据输出到报表窗口中以便查看。,当你定制需要打印的字符串内容时,需要在变量名两边加上个 号,以指明变量值将会被打印到报表窗口中。你不能够打印已知读数,只能打印变量值。IO:Reporter Clear指令用于清除报表窗口。,清除报表内容,将报表内容生成文档,报表窗口,13,Sherlock主要功能介绍,1.Landmark 位置标定2.Calibration 刻度校准3.Search 区域搜索4.Color Processing 颜色处理,14,Sherlock位置标定介绍,目前一个标准的机器视觉应用都要求能够分析出一组图像中相同的特征。但是由于运动控制和图象采集设备本身,或者待检工件自身的因素,致使每幅所拍摄的图像不可能完全静止不动。所以当物体发生了偏移或旋转时,在对感兴趣区域进行像素统计的时候就不可能得到准确的分析数据.解决这个问题的唯一方法就是为ROI进行坐标位置的自我标定。,15,Sherlock位置标定介绍,在图中我们使用了一个 矩形ROI 结合配置Barcode 1D 算法,用于测量图书封面所印刷的条形码。,16,Sherlock位置标定介绍,当图像向右发生移动时,矩形ROI所检测的图像内容发生变化,这时矩形ROI便不能够正确的识别出图书封面上的条形码。,17,Sherlock位置标定介绍,在图书封面条码商标左边的边界可以通过一个线形ROI 配置First Edge算法,并将边缘强度参数设置为100来实现探测。,18,Sherlock位置标定介绍,在图像窗口的 Options 对话窗Alignment页面下进行校正设置(Alignment scheme)的创建。,点击 Create alignment 按钮创建一个 alignment scheme。默认情况下,alignment schemes被命名为alignmentA,alignmentB,etc.图中的 alignment scheme我们更名为 alignLeftEdge.,将通过First Edge 算法探测到的点从Point readings 窗口中拖移到 alignLeftEdge下方;这个便完成了一个标定点。,19,Sherlock位置标定介绍,校准设置完成后,必须把它应用到需要标定的ROI 上,以便ROI移动到正确的图像位置实现像素的分析。要将校准设置应用 到ROI,首先打开 Edit 窗口并点击属性 栏。在 Alignment下拉菜单中显示有程序中所有的校准设置点,选择正确的校准设置点。,20,Sherlock位置标定介绍,现在如果图书发生水平移动,t线形 ROIs 通过First Edge 算法探测到条码商标左边界点并计算出从原始位置到新位置发生了多少偏移.执行 Barcode 1D 算法的矩形ROI将会根据标定点自动调整位置。图中虚线表示出了矩形ROI的原始位置。,21,如果目标物体发生了旋转,要实现标定则需要设置两个标定 alignment scheme。在商标的左下和右上角,各包括了 0 和 90000,我们用两个矩形 ROIs培训其图样,配置Search Line Based 算法。,Sherlock位置标定介绍,22,Sherlock位置标定介绍,将两个算法探测的点作为标定点,添加它们到 alignRotate中去。,23,通过为矩形条码检测 ROI设置alignRotate 标定点后。如果图书发生旋转,条码检测ROI也会根据两个标定点来实现自我位置的调整。,Sherlock位置标定介绍,24,Sherlock尺寸校准Calibration,在我们使用机器视觉进行检测时候,相机所拍摄的图像都是以像素作为单位,如果要获得实际的物理尺寸单位则需要经过Calibration 刻度校准来实现像素单位到物理单位的转换。Sherlock7中可以通过以下两种方式来实现。,方法 1:利用点坐标 使用IO公式:Calibration:Calibrate Using Points 方法 2:转换测量值 使用IO公式:Calibration:Calibrate Using Transformation Values 我们主要介绍通过第一种方法来实现单位的转换。,25,以测量 PDA屏幕的宽度为例,用两条线形 ROIs 配置 First Edge 算法,将探测到的两点坐标输入到几何算法:PtToPtDist中。测量出的屏幕尺寸宽度如图所示为 311.58 像素。,Calibration,26,Calibration,定义四个点在右边的图像窗口中,在四个圆上使用四个放射形ROIs配置First Edge算法 作为校准目标。在这幅图中,相邻圆心之间水平和垂直的距离都是 1 英尺。,实现转化第一步:,27,Calibration,将每个放射形 ROI探测到的一组边缘点作为几何公式:PtsToBestCircle 的输入。通过指令计算出相应圆环的中心点坐标。,28,Calibration,将通过几何公式PtsToBestCircle求出的四个圆心坐标作为IO:Calibration:Calibrate Using Points公式的输入数据。左上圆心坐标:(0.00,0.00)右上圆心坐标:(4.00,0.00)左下圆心坐标:(0.00,3.00)右下圆心坐标:(4.00.3.00)左上圆心到右上圆心相隔四个间距单位,上下圆心相隔三个间距单位。在实际应用中左上圆心坐标或许是(2.125,7.500),则其它的圆心坐标就要作到相应的调整。,29,Calibration,创建和设置校准对象可以在任何图想窗口的 Options对话窗Calibration面板上创建一个空的校准对象。,点击Add按钮创建一个空白的校准对象,30,Calibration,在IO公式 Calibrate Using Points 中,鼠标左键双击HDL 弹出输入选择对话窗。选择(CalibrationA)作为输入转换。,31,Calibration,校准对象的应用打开图像窗口的 Options 对话窗中的Calibration面板,在下拉菜单中选择校准对象CalibrationA。,32,现在在经过校准的图象窗口中再来测量屏幕两点之间的距离,它们将返回真实的物理尺寸。这个PDA的屏幕宽度是 2.59英寸。,Calibration,33,Sherlock区域搜索算法Search,Sherlock 7中的搜索算法主要有3种,分别是:Search Correlation Search Geometric Search Line,机器视觉最普通的应用便是搜索某一特征区域,例如,检验目标(电阻,螺钉,商标,药片)是否在正确位置上 或者判断某特征的位置离预期位置有多少距离。以上三种Search算法都使用相同的用法:1.首先在一幅图像中培训特征区域。2.制定搜索参数和搜索区域。3.在新的图像中搜索特征区域,如果找到则返回它的坐标位置以及匹配分数。,34,Search-Correlation算法,Search Correlation算法是通过一个ROI绘制特征图像里面所有像素的亮度分布图,然后通过灰度值之间的相关性在搜索区域内找到最佳匹配的图形。特征图像内部像素亮度变化差异越大,搜索便更为容易。,35,Search-Correlation算法,当你在 ROI 的算法选择列表中选择了该算法后,特征图像便会被自动的学习。,扩大同一个 ROI 的面积以次来定义搜索区域。,当执行搜索时,寻找到的特征位置以及匹配分数都会被反馈出来,见下图所示:,36,Search-Correlation算法,这是一幅与特征图像相比有缺陷的图像,所以搜索分析后得出的分数明显低于标准值。,37,Search-Correlation算法,当搜索图像焦距模糊或亮度发生变化时,该算法仍能稳定工作。(尽管在稳定的环境中,不会发生大幅度的变化),38,Search-Geometric算法,The Search Geometric算法学习ROI内部明显的边缘,然后在搜索区域内找到与之最匹配的图像。,ROI内最为明显的边缘被识别和培训。并以这些边缘作为特征,非边缘的像素不与理采。,39,Search-Geometric算法,你可以通过修改参数对话窗中的数据来控制算法公式的执行。这里我们将默认的最小 contour length从20修改为100后,特征图像将会被重新培训(execution mode=train).轮廓低于20的像素部分将会被去除。,40,Search-Geometric算法,扩大同一个 ROI的面积以次来定义搜索区域。当执行搜索时,寻找到的特征位置以及匹配分数都会被反馈出来。,41,Search Geometric 算法能够查找到发生任何角度旋转的特征。旋转偏移了多少角度将以弧度的值反馈出来。,Search-Geometric算法,Search Geometric算法可以在搜索区域中寻找到多个相似的特征图样,并且反馈数组中将包含从最佳到最差匹配图样的坐标位置及匹配分数。,42,Search-Line算法,Search Line 算法学习 ROI 内明显变化的边缘轮廓,然后寻找搜索区域内与特征最为匹配的图样。,43,Search-Line算法,Search Line算法能够查找到发生任何角度旋转的特征。旋转偏移了多少角度将以弧度的读数反馈出来。,Search Line算法只找出一个与培训特征最为匹配的图样。,44,Sherlock色彩处理功能介绍,目前市面上大多数的机器视觉技术都不涉及到彩色的处理。然而IPD新一代的机器视觉软件Sherlock 7 率先具备了这一功能。Sherlock 7中新增的色彩分析模块主要分为以下4大功能:Color Presence Meter Spot MeterColor Map Color Correction Coefs,45,Color Presence Meter,Color Presence Meter算法的主要功能是探测在 ROIs 区域中出现频率最高的是颜色数据库中的哪种颜色。它能适用于任何面形 ROIs。,46,Color Presence Meter,1.使用ROI选择一种颜色。2.点击 Parameters按钮弹出参数窗口.3.输入颜色的名字4.将运行模式改变为培训模式 这时在ROI内的平均颜色被计算并添加到数据库中;你没有必要再点击Apply按钮.5.设置回运行模式以便运行.不要忘记这一步!6.点击OK按钮.7.将ROI移动到新的颜色上,再从第二步开始执行一遍.,3,4,5,47,当运行程序执行该算法时,ROI 内的每个像素都会与数据库中的颜色作比较。如果一个像素的颜色与库中匹配,则该色彩值便会增加。在 ROI 内部的所有像素都被分析后,将会反馈出色彩最高的匹配值信息。,Color Presence Meter,48,Color Presence Meter,在下面的例子中,我们培训的颜色有粉红,蓝色,青色,橙色 和黄色。,49,Color Presence Meter,当运行程序执行算法时,检测值括了在ROI内部所有像素中与设定颜色相匹配的像素百分比。在这个例子中,图中 ROI中一共有8%的像素颜色与蓝色匹配。,50,Color Presence Meter,使用一个更小的 ROI,那么它的将会得到一个更高的检测值(26%)。,51,Color Presence Meter,需要记住的是 Color Presence Meter 反馈的是最佳颜色匹配的像素值。将不会有橙色的像素点信息反馈。如果ROI内没有橙色的像素点,黄色的平均值将仍然是 12%。,52,Spot Meter,Spot meter算法是将ROI中像素的平均色彩与颜色数据库进行比较归类。不同的Spot meters算法使用不同的数学计算模型,这些不同的模式将影响处理的速度,以及颜色数据库的大小和精确度。,53,Spot Meter-Block,Spot Meter Block算法以牺牲色彩建模的精确性来达到较快的处理执行速度。.用以下方法可以将颜色信息添加到算法数据库中 用 ROI选择一中颜色 点击算法的 Parameters 按钮弹出参数设置对话窗.,54,5,6,4,3,Spot Meter Block 颜色培训,Spot Meter-Block,3.点击 Teach/Run 按钮将算法设置为培训模式4.输入颜色的名称.5.点击 Add New 按钮.颜色名称被添加到颜色列表中,但是颜色并没有被培训6.点击 Teach 按钮.ROI中的平均颜色被计算出来并与输入的颜色名称相对应.7.点击 OK 按钮.8.移动ROI至一中新的颜色上并从第二步从新设置一遍.,55,Spot Meter-Statistical,Spot Meter Statistical 牺牲了运行的速度来使 颜色建模的精确性达到更高要求.用以下方法可以将颜色信息添加到算法数据库中 用 ROI选择一中颜色.点击算法的 Parameters 按钮弹出参数设置对话窗.,56,3,4,5,6,Spot Meter Statistical 颜色培训,Spot Meter-Statistical,3.点击 Teach/Run 按钮将算法设置为培训模式4.输入颜色的名称.5.点击 Add New 按钮.颜色名称被添加到颜色列表中,但是颜色并没有被培训.6.点击 Teach 按钮.ROI中的平均颜色被计算出来并与输入的颜色名称相对应.7.点击 OK 按钮.8.移动ROI至一中新的颜色上并从第二步从新设置一遍.,57,选择ROI图像显示窗口中子区域内像素在对颜色数据库进行培训学习时,你可以选择ROI图像显示窗口中子区域内的像素来计算颜色平均值.,Spot Meter-Statistical,只有在绿色矩形框中的像素色泽值才能被作为棕色输入到颜色数据库中.,58,保存颜色数据库由任意算法创建的颜色数据库都能够被导出,并生成文件保存,同样你也可以将它导入到其它具有相同算法的ROIs中去执行,即可以在相同的应用程序中使用又可以在其它的应用程序中使用.对于Spot Meter Block算法,所生成文件的扩展名为.lst;对于Spot Meter Statistical算法,所生成文件的扩展名为.ucc.,导出Spot Meter Block 颜色数据库,导入一个 Spot Meter Block 颜色数据库,Spot Meter-Statistical,59,因为使用了不同的数学算法模型,Spot Meter Block 与 Spot Meter Statistical 算法生成的颜色数据库是完全不相同的。从 Spot Meter Block 算法导出的颜色数据库不能够导入到Spot Meter Statistical 算法中去,反之亦然。,Spot Meter-Statistical,60,Color Map,为了将这些图样分成三类,你需要将红色图样、绿色图样与蓝色图样区别出来。使用Color map 算法能够很好的将每种颜色转化为灰度图像,然后再使用thresholding 预处理器和blob分析算法便能够方便的解决这个问题。,61,Color Map,3,4,5,Color Map算法将一种彩色绘制为0到255灰度值图像,将颜色添加到绘制算法数据库中用一ROI选择一种颜色图样.点击算法 参数设置按钮弹出Parameters对话窗.输入培训颜色的名称.将运行模式改变为培训模式 这时在ROI内的平均颜色被计算并添加到数据库中;你没有必要再点击Apply按钮.设置回运行模式以便运行.不要忘记这一步!点击OK按钮.将ROI移动到新的颜色上,再从第二步开始执行一遍.,Color Map 培训,62,Color Map,下面这个步骤是基于Color map为彩色图像创建一幅灰度图像。,为了绘制整幅原始图像,点击原图像上ROI参数对话窗中 Position 面板上的 Fit to image 按钮。同时再选中 Lock position 选项。.,63,Color Map,创建一幅目标图像,并为它添加一个ROI.,在目标图像的Options 对话窗中,选择 Reading 作为图像的来源,将 Color Map 算法创建的color map设置为输入。,64,Color Map,见右图所示,目标图像中一个矩形ROI 大小设置为 Fit to image.当应用程序运行时,具有绿色像素的图样将转化为灰度图像出现在图中。通过一个Connectivity Binary 算法我们可以得到具有同种颜色图样的中心位置以及图样的数目。,65,Color Correction,彩色相机在采集图像时有时会产生细微的色泽偏移,导致对颜色的分析不可靠。理想条件下,色彩问题应该在图像采集前被修正,比如通过调节光线和相机的白平衡来实现。但是当这两中方法都难以改进其效果时,Sherlock 还可以在图象被采集后对颜色进行调节。颜色问题的修正需要使用一种补充算法以及预处理器.1.算法首先计算出红、绿、蓝等相位有多少需要进行修正。2.然后使用预处理器执行经算法计算出的修正数据。,66,这幅图像显示出了红色的明显偏移;图中右下角 矩形应该是白色,但是它现在为青绿色。,Color Correction,67,Color Correction,修正计算:在右下角青色块中创建一个ROI并配置执行Color Correction Coefs 算法.目标默认的白色像素的红,绿,蓝组成各为 255,255,和 255。你可以在算法的 Parameters对话窗中改变这些值。算法通过计算每种颜色的相关系数来使ROI中像素满足目标值。,68,Color Correction,修正的应用:为ROI的预处理器创建 Color Correction 算法以便修正图像。,在预处理器的 Parameters对话窗中,将 Color Correction Coefs 算法计算出的相关系数分配给对应的参数。,69,Color Correction,下面这幅图在RectB中的所有像素都应用了颜色系数修正,注意右下角矩形块颜色的变化。,70,Visual Basic 终端界面编写,为了使Sherlock软件设计的机器视觉应用界面更为友好,简洁,或者根据你的实际应用需要增加数据库、网络通讯、第三方控制等特殊功能。我们都可以通过Visual Basic来为Sherlock检测程序编写自定义的用户使用界面。,71,在Windows自定义用户界面中可以实现以下控制:1.如果你接的必要的话可以显示任意多的应用程序图像窗口2.执行应用程序(运行一次或连续运行)3.获取检测读数的值4.设置和获取变量的值5.设置和获取 peeks 的位置以及大小6.改变某种预处理器和算法的参数,Visual Basic 终端界面编写,72,Visual Basic 终端界面编写,在 Visual Basic project菜单选择栏:选择 Project References IpeEngCtrl 1.0 type library,IpeEngCtrl 作为 Sherlock 运行控制引擎。,73,Select Project Components IpeDspCtrl ActiveX control module.IpeDspCtrl 作为图像窗口的显示控制。,Visual Basic 终端界面编写,74,Visual Basic 终端界面编写,在VB中创建 IpeEngCtrl 控制引擎:Dim WithEvents hSherlock As IpeCtrlLib.Engine Set hSherlock=CreateObject(IpeEngCtrl.Engine),75,Visual Basic 终端界面编写,装载Sherlock应用程序:Dim nErrnErr=hSherlock.InvLoad(App.Path&Widget.ivs),76,Visual Basic 终端界面编写,如果你向VB工程中添加了 IpeDspCtrl 后,你便可以将Sherlock中的图像窗口连接到Visual Basic界面中去.。Connect the display control to the IpeEngCtrl objectIpeDspCtrl.ConnectEngine hSherlock.GetEngineObject Connect an image window to the display controlIpeDspCtrl.ConnectImageWindow imgA,77,Visual Basic 终端界面编写,运行Sherlock应用程序:Run continuouslynErr=hSherlock.InvModeSet(I_EXE_MODE_CONT)或者 Run oncenErr=hSherlock.InvModeSet(I_EXE_MODE_ONCE),78,在程序执行完后 RunCompleted 子程序将会被自动调用反复执行:Private Sub hSherlock_RunCompleted()Add code here to get readings,get and set variables,update the Visual Basic form display,etc.This code gets the value of the Sherlock variable varCount into the local variable dblCount.dblCount is displayed in a label control on the Visual Basic form.Dim dblCount as DoublenErr=hSherlock.VarGetDouble(varCount,dblCount)lblCount.Caption=dblCountEnd Sub,Visual Basic 终端界面编写,79,结束,谢谢!,

    注意事项

    本文(Sherlock软件及VB编写.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开