Sherlock 使用手册 程序设置
1. SHERLOCK 程序设置
软件安装
用户可以通过光驱把Sherlock软件安装在Windows2000或Windows XP下。如果光驱不能自动开始安装,请点击Windows的“开始”按钮,选择“运行”并进入到setup. exe开始安装。或使用Windows视图器来导航至光驱并在根目录下双击setup.exe文件。
点击“安装软件”。按照屏幕上的指示,一个程序组将会被添加到“开始”菜单列表。安装Sherlock软件的同时,也安装了Intel Processing Primitives(IPP)运行库(版本号5.1)。
Sherlock的安装需要一个许可证,这个许可证保存在插到用户电脑的硬件狗内,或保存在DALSA公司的采集卡里。许可证与版本号须对应,Sherlock7在Sherlock6.x的许可证下不能运行。点击开始查看许可证否已经安装。如果未安装,Sherlock会按演示模式(Demo mode)运行。演示模式支持除了从相机或采集卡采集图像和OCRplus外的所有产品功能。联系DALSA IPD,以获得一个永久的许可证号。用户可以使用Sherlock提供的许可证管理器(License Manager) 来安装Sherlock软件许可。
Start-—>Program—>ipd—> Sherlock—>License Manager
开始-—>程序—>ipd—> Sherlock—>许可号管理器
Sherlock软件应按照以下顺序安装:
1.Sherlock(安装Sherlock之前先安装IPP52).Sherlock7120的安装需要IPP52.
2.Sentinel(只有使用一个外部USB或平行接口硬件狗)。
3.采集支持软件:以下3中产品的任意一个或组合:
a. Sapera LTRuntime6.10.0及其更高的版本(Sherlock7120的安装需要Sapera LT6.10.0).
b. IFC Runtime (5.9.0或更新版本)。
c. FireWire相机需要的CI1394.
4. 如果使用Sapera LT Runtime,需要支持Sapera采集硬件的软件驱动。
注意:为了成功安装Sapera驱动,必须先安装采集卡。
注意:IFC和Sapera都支持PC2--Vision和PC2-CamLink采集卡。不需要在IFC和Sapera环境下为这两款采集卡安装支持软件。推荐使用IFC。
版本号:7140;2008年9月17日 1
程序设置 403-00007-00
Windows配置
如果你使用定制的Windows,在使用Sherlock时可能会遇到一些问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
。请谨记以下要求:
1. Sherlock所需的显示分辨率为1024*768(或更高)。
2. 在机器视觉检测过程不要使用屏幕保护。如果程序连续检测而无人看管的话,屏幕保护就会中断检测,并极大地降低处理速度。
3. 如果你正在把图像存到硬盘中,那么关闭硬盘驱动器(节电模式)也许会导致一些图像的丢失。
4. 由于显示卡的不同,一些视频模式也许会比其它的要快。如果显示速度影响到你的应用,如果显示速度对你的应用来说很关键,请尝试改变颜色深度设置。试用8位、16位、24位和32位的颜色模式并找出哪个更快。现有的颜色设置根据Windows操作程序和显示卡的不同而不同。Sherlock监控窗口显示指令时间。状态栏显示总的检测时间。在8位显示模式下,色彩不能被正确地显示出来。
5. 带圆角的Windows,在默认的“Windows XP"状态下,需要非常高的处理力,并且可能会降低机器视觉检测软件的效率。
软件选项
Sentinel
Sentinel软件能够监控软件许可,并定义软件如何运行(完全模式或演示模式)。你可以使用许可管理器来安装许可号或视图许可选项。如果你要用已发行的光盘来安装Sherlock,就必须在安装完Sherlock之后,单独安装Sentinel。如果你从FTP网址上下载Sherlock软件并想使用硬件狗来取得许可,也必须下载Sentinel,并在安装完Sherlock之后,单独安装它。
运行库
Sapera和IFCTM库和它们的相机配置工具是不包含在Sherlock软件里的。为了能够更好地支持第三方软件和采集卡,没有这些运行库,Sherlock也是可以运行的。为了正确地运行Sapera和IFC,Sherlock必须采用其中之一的运行库或完全的运行库。运行库和驱动都包含在Sherlock的光盘中,你可以在安装完Sherlock后,单独安装任何一个或两个。Sherlock软件需要Sapera或IFC的支持才能使用DALSA公司采集卡里采集到的图片。
2 版本号:7140;2008年9月17日
Sherlock使用手册 程序设置
如果你是从FTP网址上下载的Sherlock软件,你就必须同时下载运行库,并且在安装完Sherlock后,单独安装运行库。要安装SDK库,需要一个Sapera或IFC许可。IFC的安装包含硬件驱动。而Sapera驱动是分开打包和安装的。请确认你下载的Sapera驱动正是你所需要的。
注意:不要在这两个运行库下为特定的采集卡安装支持软件,这些驱动会相互冲突,可能会导致两个运行库都不能正常运行。
CI1394
CI1394是IFC运行库的一个子集,它支持火线相机的采集功能。即使不安装IFC运行库(运行或SDK),只安装CI1394,也不影响相机的使用。但是如果不安装CI1394,IFC运行库就不能支持火线相机。
Sherlock许可证选项
从7.0.0版本开始,OCRplus是在Sherlock下的唯一分离的许可选项。用户可以在线参考Sherlock数据表(www.goipd.com),或联系DALSA IPD了解详情。任何版本的Sherlock都要得到许可。这可以通过使用并口或USB加密狗,或由DALSA公司许可的采集卡来实现。你可以使用许可管理器来安装或视图许可证选项。要采集图像必需先获得许可。您如有任何关于许可的问题,请参考软件发行注意事项。
与Sherlock-Professional6.x相比,Sherlock包含了所有的功能。
OCRplus升级版为Sherlock (Professional) 许可添加了OCRplus算法。
相机配置
DALSA公司在配置多相机采集功能上具有业界领先的灵活性。Sapera CamExpert工具或IFCCamera Configurator®工具可以用来创建一个配置文件来定义并设置采集卡和相机。这些工具也可以用来在运行Sherlock之前测试和校验你的采集参数。
在Sapera下,Camexpert创建一个CCF文件,Sherlock的Sapera驱动会使用这个文件。使用开始(Start)—> 程序(Progarms)—> Dalsa Coreco—> Sapera LT—> CamExpert来设置智能检测程序VA50,VA51和 NetSightII-DCL;以及X64, PC2-Vision, PC2-CamLink采集卡。
版本号:7140;2008年9月17日 3
程序设置 403-00007-00
在IFC下,Camera Configurator创建一个文本文件(*.txt),Sherlock的IFC驱动会使用这个文件。使用开始(Start)—>程序(Programs)—> IFC (Runtime) —>Camera Configurator来配置智能检测程序VA4x,VA21,VA31和NetSightII-MCA;以及 PC2-Vision, PC2-CamLink的采集卡。
注意:PC2-Vision和 PC2-CamLink在Sapera和IFC运行库下都受到支持。然而,这两个库的驱动是相互冲突的,不要同时为PC2-Vision和PC2-CamLink安装这两个运行库。Sapera和IFC的运行库和驱动都包含在Sherlock光盘里。
Sherlock图像采集设置
Sherlock的初始化文件“Drivers,ini"指定其所使用的运行库和驱动:Sapera LT和SapaeraLTDrv.dll或IFC和IFCDrv.dll。每一个运行库驱动都有自己的初始化文件,SaperaLTDrv.ini和IFCDrv.ini,每个运行库指定的初始化文件必须正确地定义至相机文件的所有路径,和在Sapera下头三个输入和输出的配置。
运行库 驱动 驱动初始化文件
Sapera LT SaperaLTDrv.dll SaperaLTDrv.ini
IFCI fcDrv.dllI fcDrv.ini
你可以使用Sherlock的采集选项来编辑初始化文档,或者你可以使用Notepad或其它文档编辑器。在Sherlock菜单栏,选择选项(Options)-采集(Acquisition) 来打开配置硬件对话框。这是一个编辑Drivers.ini文件的界面。
在窗口的上方是采集卡硬件的输出结果。当Sherlock启动时,你可以设置输出结果的初始状态。
在这个窗口的中间是驱动的列表。下方是目前已下载驱动的配置。启动你要使用的运行库的驱动,并禁用其它的驱动。默认状态是Camera Simulator启用,其它为禁用。
当你改变驱动的选择时,此窗口的下方不能立刻做出改变。只有在你打开Sherlock时才能下载驱动器。如果你改变了选择的驱动器,那就先关闭Sherlock再重新打开。再次打开设置硬件对话框(选项Options-采集Acquistion)并滑到窗口底部。点击“驱动配置”按钮。这个会打开Notepad,并打开驱动初始化文档。编辑文档来修改至相机配置文件的所有路径。
4 版本号:7140;2008年9月17日
Sherlock 用户参照表 程序设置
版本号:7140;2008年9月17日 5
程序设置 403-00007-00
如果你需要帮助如何配置相机和程序,请联系DALSA IPD的技术支持。
如果你在采集卡和相机配置上有任何疑问,请参考Sherlock光盘里的采集设置注意事项(Acquisition Setup note)。
注意:如果在SaperaLTDrv.ini文件里没有正确指定相机文件和输出,Sherlock软件也许就不能打开,因为驱动不能被正确下载。如果你在选择完SaperaLT驱动之后不能打开,就用Windows Notepad编辑SaperaLTDrv.ini文件。详细
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
至相机配置文件的全部路径。使用Sapera LT采集向导来获得正确值。
Sapera采集向导
由版本7.1.2.0开始,Sherlock包含了“SaperaLT采集向导”,这个向导位于Windows开始菜单。这个程序能检测到所有的Sapera所支持的硬件,并保存到SaperaLTDrv-generated.ini"文件里。这个文件包含客户“SaperaLTDrv.ini”当前版本中所需要的信息,但不重写客户的文件。你可以使用向导来导航至正确的相机配置,启用或禁用另一台相机并改变设备的设置。(可扩展列表)
启动Sherlock
双击Sherlock的图表激活Sherlock,或通过在Windows启动组中放置Sherlock图标副本来自动打开。
Sherlock有几个命令行选项可以影响它的启动行为。如果要使用命令行选项激活Sherlock,可以按住CTRL键,同时单击鼠标左键,拖拽鼠标然后放开,来复制Sherlock图标,这是复制Sherlock图标的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
Windows程序。
然后使用文件(File)/属性(Properties)选项来编辑通过图标被激活的命令行。你也可以编辑图标的标题以反应你所设置的配置。
Sherlock命令行选项
你可以用带有下列句法的命令行来激活Sherlock。需要注意的是:所有的小旗子都是可选的,针对具体的检测
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
的,并可能以任何顺序发生。如果你指定一个自动下载文件,它必须在命令行的最后。
6 版本号:7140;2008年9月17日
Sherlock使用手册 程序设置
IpeStudio.exe —show:\[min|max]—ns —run:\[once|cont]
—acq:\
—load:\
— show: min-最小化Sherlock的打开窗口的数目(并且没有闪烁屏幕)。
max -最大化Sherlock的打开窗口的数目。
—ns -没有闪烁屏幕。消除Sherlock初始化时的闪烁屏幕。这是Visual Basic程序
使用Sherlock作为图像处理引擎的默认值。
—run: -在打开之后连续运行。
—acq: <初始化文件> -使用特定的初始化文件设置来打开Sherlock。如果没有特定文件,就使用"Drivers.ini"文件设置。你可以为Sherlock初始化文件重命名。重命名不能与IFC和SaperaLT的初始化文件相同(IFCDRV.INI 和SAPERALTDRV.INI).
—load: <初始化文件>-在Sherlock初始化后下载这个文件。可以按照以下顺序下载此文件:
a) 在当前目录寻找。
b) 如果文件没有扩展名,加.IVS并在当前目录里寻找。
c) 在默认安装目录下在程序目录里寻找。
(\Program Files \ipd \Sherlock \Programs)
.
d) 如果文件没有扩展名,加.IVS,并查看安装目录下的程序目录。
• 举例说明:打开Sherlock,并在默认目录下自动下载Sherlock程序“test1.ivs"
IpeStudio.exe —load:test1或IpeStudio.exe test1.ivs
• 举例说明:打开Sherlock,并用相同的程序文件连续运行:
IpeStudio.exe —run:cont —load:test1
版本号:7140;2008年9月17日 7
用户界面概览 403-00007-00
2.用户界面概览
这部分描述的是Sherlock用户界面。此界面设计简单,易于使用,包括窗口,下拉菜单,工具栏,在线帮助和对话框。所有这些工具都遵循标准Windows直观和点-击的界面传统。详情参见第4部分(从39页开始)。
熟悉Sherlock功能和特点的最好方法是阅读和遵循此手册的第3部分教程(从23页开始)。本软件光盘包含视频教程的目录,可以帮助用户更好地了解用户界面和特征。
Sherlock为许多功能提供多种打开方式。比如,一些动作可以通过菜单栏,工具栏或快捷键来完成。
Sherlock如何运行
Sherlock “investigation” 检测程序是基于图像窗口和程序窗口的。你可以在图像中绘制一个或多个ROI(感兴趣区域)并在ROI中加入图像处理。经计算后的结果即为“读取值”。在程序窗口,你可以加入公式或指令来控制读取值,并可以通过Serial, Ethernet, Modbus 接口与用户或外部设备对结果或决定进行交流。
如果Sherlock运行一次检测程序,主要子程序下的每条指令会按顺序执行一次。在最后一条指令执行完后,检测过程运行结束。当Sherlock连续运行一套检测程序时,主要子程序的每条指令都会按顺序执行,在最后一条指令执行完后检测过程会从第一条开始重复运行。这个检测程序会无限地运行直到用户停止或终止该程序。
在线帮助
Sherlock以HTML格式提供在线帮助。按F1键或点击“帮助”菜单获取帮助。当你按F1时,“活动”窗口决定帮助如何打开。当你在程序上方晃动鼠标时,Sherlock的“使用技巧”和其它信息就会出现,还包括状态栏的信息。所有的指令,预处理器和算法都有自己的帮助主题。
8 版本号:7140;2008年9月17日
Sherlock使用手册 用户界面概览
定义
使用Sherlock来创建并运行工业检测应用,每个应用称为一个检测程序。一个检测程序就像一个电脑程序,不同的是这个程序是在采用图形化,点-击的环境中创建的。
视觉检测工程师都知道的技巧是如何配置光源,预处理器和算法才能更好的区分好的和坏的的检测对象。Sherlock软件可以使检测应用编程人员把精力集中到处理而不是编程工作上。
一个检测程序是由子程序组成的,子程序包含了Sherlock在客户定义命令下执行的指令。Sherlock支持以下指令类型:图像窗口,ROI,流程控制,变量和输入/输出控制。
图像窗口指令是指能抓取图像以用作处理的虚拟相机。在Sherlock主窗口内,图像窗口出现在它们自己的窗口中。
ROI(感兴趣区域)是Sherlock基本的图像
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
指令。ROI是指图像窗口中图像的一部分。Sherlock以线条和圆圈的方式来显示ROI。在检测过程时,可以通过鼠标来绘制不同的ROI类型(矩形,环形,圆环,圆,多边形,点,线,圆弧,耙形,轮辐,牛眼,彩虹)。ROI能够对它的区域内的像素进行图像处理和分析,包括边缘上和轮廓的像素。Sherlock对每个结果都会返回一个读取值。大多数与Sherlock有关的学习问题基于ROI能做什么和如何设置它。
公式是指能够对输入读取值和变量进行计算并产生输出值的子程序指令。
读取值是指一个单独的数值或阵列,有以下类型:数字、点、线、布尔值或字符串。Sherlock读取值是由ROI、公式,或输入/输出指令来创建的。使用读取值产生报表或作为公式指令的输入值。你可以对单独的读取值设置公差来对判断 合格/不合格,并影响执行进程。
变量是内存中用来储存读取值和公式输入值的一个位置。变量与读取值有相同的类型:
一个单独的数值或阵列,有以下类型:数字、点、线、布尔值或字符串。
输入/输出控制指令产生、测试、或等待一个特定的输入或输出条件。这些指令可能与串口,并口,模拟,文件或报表有关。这个功能能使Sherlock作出决定,发送信息或控制外部设备。
版本号:7140;2008年9月17日 9
Sherlock界面概览 403-00007-00
Sherlock应用窗口
Sherlock用几个窗口来显示它的功能,并允许用户控制它们。这几个窗口分别是Sherlock主窗口,图像窗口,程序窗口,指令窗口,变量窗口,报告窗口,观察窗口,数字输入窗口和数字输出窗口。
用户可以平铺、层叠并最小化图像窗口。图像窗口不可浮动。其它所有窗口都可浮动,固定,移动或进入其它窗口形成窗口组合。你可以看到尝试浮动或拖动位置的外框。光标的位置决定浮动或进入的位置,而不是窗口的标题框。当你移动非浮动窗口时,它们就会试图浮动在主窗口的各个边上。当你拖拽一个窗口时,就要按住控制键来关闭该窗口的锁定状态。
如果你找不到或看不到某个窗口,下拉视图菜单看这个表是否活动或可见。如果窗口可见,那它可能组合在某个窗口内。
图2.默认窗口
10 本号:7140;2008年9月17日
Sherlock 使用手册 用户界面概览
主窗口
主窗口包含其它所有窗口。菜单栏和主工具栏位于主窗口的上方。新安装的Sherlock通常会在主窗口显示一个图像窗口和程序窗口。使用视图菜单在主窗口显示其它窗口。
你可以用窗口左上角的最小化按钮来最小化主窗口。所有的显示窗口也随之被最小化。非浮动工具栏不会被最小化。
用户可以在Sherlock菜单栏的Windows菜单中最小化主窗口至Windows程序托盘(窗口-最小化至托盘)。所有显示窗口和所有非浮动工具栏都会被最小化。
图像窗口
图像窗口包含并显示图像。用户可以在图像窗口绘制一个或多个ROI(感兴趣区域),并在ROI属性编辑窗口增加图像处理功能。在Sherlock中你可以有多个图像窗口。你可以平铺、层叠并最小化图像窗口。图像窗口是非浮动的。
图像窗口菜单(主窗口菜单栏)控制活动图像窗口.每个图像窗口都有自己的工具栏,你可以关闭图像窗口(图像窗口)或设置工具栏不浮动并关闭非浮动工具栏来节省显示空间。
在程序窗口中创建一个新的图像窗口,可以通过点击“创建图像窗口指令”(“ACQ")或从指令窗口拖拽”图像窗口“指令至程序窗口。
通过1)在图像工具栏点击选项按钮,或2)使用图像窗口菜单并选择选项,或3)左双击图像窗口(在ROI外)来为图像窗口选择图像源。
使用图像窗口工具栏,或图像窗口菜单在图像上绘制ROI(感兴趣窗口)。Sherlock能够在ROI内对图像区域进行处理。
程序窗口
程序窗口显示组成Sherlock程序(在Sherlock6中叫做strategy)的程序,子程序和图标。
程序工具栏具有插入指令(子程序,图像窗口,流程控制指令和Java语言代码)的功能。
版本号:7140;2008年9月17日 11
用户界面概览 403-00007-00
在任意指令处单击右键来显示”切换点“和指令菜单弹出窗口(在”+“或”-“旁,为可扩展项目)。当你运行Sherlock时,检测过程会在每个切换点处暂停。这个纠错工具是源自Sherlock6的。Sherlock7的多种运行模式能提供更多的纠错帮助,在菜单选项处单击右键,纠错帮助可以随运行模式的改变而变化。你也可以暂时禁用某项执行指令。
用户可以固定、移动、浮动和不浮动程序窗口。移动窗口可以在主窗口的边上转变为标签。当程序窗口关闭时,检测程序可以照常运行。
指令窗口
指令窗口显示了所有的指令,并在文件夹或工具箱内有序的存在。(在Sherlock6中,指令被称为公式或输入/输出指令)。用户可以拖拽并把指令放入程序窗口内,还可以单击指令工具栏来显示”工具箱“列表,并单击以滚动指令窗口。用户可以固定、移动、浮动和不浮动指令窗口。移动窗口可以在主窗口边上转变为标签。用户可以关闭指令窗口以节省显示空间。
变量窗口
变量窗口用来创建并显示变量。一旦变量被创建,用户可以把它拖拽进程序窗口。变量只能在变量窗口中创建。用户可以通过激活功能键(F2)或使用变量编辑对话框在变量窗口中添加评论。
Sherlock6有多种变量创建方式,在Sherlock7中,你只能在变量窗口中创建变量。用户可以把所创建的变量分派到之前能创建它们的任何地方,并且可以拖拽和载入变量。请参考下部分的教程。
用户可以固定、移动、浮动和不浮动变量窗口。移动窗口可以在主窗口边上转变为标签。用户可以关闭指令窗口来节省显示空间。
观察窗口
观察窗口显示读取值。用户可以从程序窗口中拖拽读取值(输出)至观察窗口,来显示数值。用户不可以从变量窗口中拖拽变量,但可以从程序窗口中拖拽被分派到变量的读取值。
用户可以固定、移动、浮动和不浮动观察窗口。移动窗口可以在主窗口边上转变为标签。
12 版本号:7140;2008年9月17日
Sherlock使用手册 用户界面概览
监控窗口
监控窗口显示基准时钟和Sherlock内部信息。用户可以固定、移动、浮动和不浮动监控窗口。移动窗口可以在主窗口边上转变为标签。用户可以关闭监控窗口以节省显示空间。
报告窗口
报告窗口产生报表并为总结报告搜集数据。在每次检测结束后,所搜集的数据都被传送到报表区。报表区是可以保存10000个字符的缓冲区,它可以保存产生报表所需要的最新的10000个字符。用户可以固定、移动、浮动和不浮动报告窗口。移动窗口可以在主窗口边上转变为标签。用户可以关闭报告窗口以节省显示空间。
数字输入窗口
数字输入窗口显示定义的数字输入值的状态(开,关)。使用I/O指令(指令窗口)来读取数字输入值。用户可以固定、移动、浮动和不浮动数字输入窗口。移动窗口可以在主窗口边上转变为标签。用户可以关闭数字输入窗口以节省显示空间。
数字输出窗口
数字输出窗口显示定义的数字输出值的状态(开,关)。使用I/O指令(指令窗口)来读取数字输出值。用户可以在输出值处单击右键来打开或关闭它。你可以固定、移动、浮动和不浮动数字输出窗口。移动窗口可以在主窗口边上转变为标签。用户可以关闭数字输出窗口来节省显示空间。
全局图像窗口
这个窗口显示了被一些预处理器所使用的10个缓冲区。使用预处理器中的“ImgSave”将ROI保存到一个缓冲区(在Sherlock 6 中叫做二值图)。有10个缓冲区(0到9)可用来保存MONO8图像和ROIs。当关闭Sherlock时,这些临时缓冲区中的文件就会丢失。用户可以使用“选项(Option)-应用(Application)” 来改变用于“所有(All)”标签中的缩小图的尺寸。
统计处理控制(SPC)监控窗口
这个窗口显示发送到SPC的数据的值,用户通过指令或激活SPC属性中的值而实现数据的传送(查看SPC视图的图标)。
版本号:7140;2008年9月17日 13
用户界面概览 403-00007-00
Sherlock 菜单栏
Sherlock主窗口包含了能够进入大多数Sherlock功能的下拉菜单,很多选项都可以在以下几个地方找到(菜单栏、工具栏、单击右键等),菜单和选项也保存在在线帮助中。
程序菜单
程序菜单支持视觉检测文件的下列功能:打开新的检测程序、打开现有的检测程序、保存检测文件、检测文件另存为、保存对检测过程的描述、打开最近的检测文件、锁定和打开(安全设置)用户界面和退出Sherlock。
编辑菜单
编辑菜单提供下列功能:复制,粘贴所选择的程序项,粘贴集,撤消粘贴和删除所选指令。
• 粘贴所选择的程序项--复制所选程序项目和它所有的属性和选项。
• 树式粘贴--复制所选项目及其该程序项下所附属的所有项目。
视图菜单
视图菜单列出了所有的Sherlock窗口(图像窗口除外)。使用视图菜单来显示或隐藏Sherlock窗口(图像窗口除外),在被显示窗口旁会有一个标志。被隐藏的窗口旁没有标志。默认方式只显示程序窗口。当用户关闭或以后重新打开该应用时,Sherlock会保存之前的视图和设置。
运行菜单
运行菜单控制操作或检测程序的运行模式:
• 单次-检测程序只运行一次
• 连续-反复运行检测程序,用户可以通过按ESC键或选择Halt (在下方)来停止检测过程。
• 标定-运行能够进行标定的所有子程序。
14 版本号:7140;2008年9月17日
Sherlock 使用手册 用户界面概览
• Halt after inspection completion (在检测完成后停止)—完成当前检测后,停止连续检测程序,此选项不适用于单次检测或其它纠错模式。
• Halt now anywhere(立即停止)—在下一条指令后停止,此选项不适用于单次检测或其它纠错模式。
• Highlight instructions mode(突出显示指令模式)—在单次或连续运行模式中,从视觉上突出显示正在执行的指令。
• Slow execution mode(慢速运行模式)—非常缓慢地运行检测程序,并突出显示每个检测步骤(在此模式下按Shift键能够加速运行)。
• Single step execution mode(单步运行模式)—激活单步模式,点击“Once”来开始检测程序,执行一条指令并暂停。
• Execute single step(执行单步)—在单步运行模式下或使用切换点来运行下一条指令。
• View logged images(查看载入的图像)—打开图像文档和预览窗口。
图像窗口菜单
图像窗口菜单只对当前选择的或活动的图像窗口可用。图像窗口菜单可提供以下功能:放大、缩小和重置窗口比例为1:1;开始和停止实时图像采集;在图像窗口绘制ROI;载入或保存图像文件;打开选项编辑窗口;显示或隐藏图像窗口工具栏。
选项菜单
选项菜单可以设置应用(Sherlock)参数:进入软件选项,采集硬件(采集卡和相机)配置,输入/输出配置(数字输入和输出,串口,TCP/IP接口和Modbus)和同步java语言配置。
窗口菜单
窗口菜单只在多个图像窗口而非其它Sherlock窗口出现时才可用。如果有多个图像窗口需要打开,用户可以平铺或层叠打开的图像窗口,对最小化的窗口进行图标排列。图像窗口以列表形式出现,而且在活动图像窗口旁有一个标志。“最小化至托盘”(Minimize to tray)选项可以最小化整个Sherlock应用程序,包括所有非浮动工具栏至Windows程序托盘(在程序时钟旁)。
帮助菜单
在帮助主题(Help Topics)中打开Sherlock帮助文件, “About Sherlock”能显示软件的版本。
版本号7140;2008年9月17日 15
用户界面概览 403-00007-00
Sherlock工具栏
Sherlock工具栏为多种功能提供图标和按钮,图标为Sherlock添加了点-击式操作。Sherlock支持主窗口和程序窗口的工具栏。Sherlock工具栏内对每个按钮都有说明:用一个单词对按钮功能做出描述。将光标停留或悬浮在按钮上可以显示该信息。
主工具栏
主工具栏(图4)提供下列功能,按顺序排列如下:
图4:主工具栏
• New Investigation(新的检测程序)—开始一个新的检测程序
• Open Investigation(打开检测程序)—打开一个现有的检测程序
• Save Investigation(保存检测程序)—保存活动的检测程序
• Save Investigation As(将检测程序另存为)—以一个新名字保存活动检测程序
• Copy(复制)—复制所选指令至剪贴板
• Paste the instructions in the clipboard-(粘贴指令至剪贴板)
• Run Once(单次运行)—运行程序一次后停止。
• Run continuously(连续运行)—重复运行检测程序直到手动停止
• Stop after completing the investigation(完成检测程序后停止)—完成当前程序循环后停止
• Stop now anywhere(立即停止)—在停止前,检测程序未完成
• Single Step mode(单步模式)—激活单步模式,使用Run Once (单次运行)开始此模,再次点击此按钮禁用单步模式。
• Execute single instruction(执行单条指令)—在单步模式下或使用切换点来执行下条指令。
• Highlight executed instructions(突出显示被执行的指令)—在单步或连续模式下,突出显示每条指令。再次点击此按钮来禁用此模式。
• Slow execution mode(缓慢运行模式)—缓慢运行并突出显示每条指令,再次点击此按钮禁用此模式。
16 版本号7140;2008年9月17号
Sherlock使用手册 用户界面概览
图像窗口工具栏
图像窗口工具栏提供以下功能:
图5:图像窗口工具栏
• Options(选项)—打开图像窗口选项对话框
• Zoom out(缩小)—缩减图像尺寸
• Zoom 1:1(重置比例1:1)—恢复图像至原尺寸
• Zoom in(放大)—放大图像尺寸
• Live Image(实时图像)—开始采集图像
• Freeze Image(冻结图像)—停止图像采集
• Select item(选择项)—改变光标至正常模式
• Insert a Rectangle ROI(插入矩形ROI)
• Insert a Annulus ROI(插入环形ROI)
• Insert a Polygon area ROI(插入多边形面ROI)
• Insert a Torus area ROI(插入圆环形面ROI)
• Insert a Circle area ROI(插入圆形面ROI)
• Insert a User Mask ROI(插入经伪装的ROI)
• Insert a Point ROI(插入点ROI)
• Insert a Line ROI(插入线形ROI)
• Insert a Polyline multiple-line ROI(插入多线形线ROI)
• Insert an Arc or curved line ROI(插入弧形或曲线形线ROI)
• Insert a Circle ROI(插入圆形ROI)
• Insert a Rake multiple-line ROI(插入耙形多线ROI)
• Insert a Spoke multiple-line ROI(插入轮辐形多线ROI)
• Insert a Rainbow multiple-line ROI(插入彩虹形多线ROI)
• Insert a Bull's eye multiple-line ROI(插入牛眼形多线ROI)
• Load a stored image file.载入已保存的图像文件。
• Save the Image Window image to a user-defined name按用户定义的名称保存图像窗口的图像。
版本号7140;2008年9月17日 17
用户界面概览 403-00007-00
• Save the Image Window image with all Graphics to a user-defined name按用户定义的名称保存图像窗口的图像和图形。
对话框
Sherlock支持许多不同的编辑框或对话框来编辑如读取值、变量等的属性和特性,对话框使用标准Windows的点—击式模式。大多数对话框都可以通过按F1键提供帮助。
检测程序
检测程序是在Sherlock环境中写的一个程序,它详细说明了一个工业检测是如何完成的,包括所有外部设备和报表产生的同步化。其它Sherlock功能用来支持检测程序的运行。Sherlock 以扩展名为.IVS的文件来保存检测程序。在默认情况下,所有检测程序文件都会保存在Sherlock程序根目录下,但是用户可以在保存文件时修改保存位置。当Sherlock 运行一次检测程序时,主程序的每条指令都会按序运行,在最后一条指令运行完后,程序终止。当Sherlock连续运行一个程序,主要子程序的每条指令都会按顺序执行,在最后一条指令执行完后程序会从第一条开始重复运行,这个程序会无限地运行直到用户停止。
使用文件菜单进入程序。Sherlock能够记录用户是否修改过一个检测程序。在载入另一个检测程序前,Sherlock会提醒用户去保存已打开的检测程序。Sherlock也有一个定时自动保存程序的功能,用户可以在选项-应用(Options-Application)对话框中改变自动保存时间。在文件菜单中选择最近打开过的四个检测程序,可以迅速的重新打开它们。
Sherlock支持多种运行模式,这些模式可以通过简单的运行要求或载入检测程序文件时自动启动。Sherlock会在窗口的字体栏中显示当前检测程序模式,使用运行菜单可进入不同的运行模式。
程序
程序为一个检测过程定义结构和方向,Sherlock程序有一个或多个子程序组成。每个子程序都是一系列不同类型的指令的组合,如图像窗口、ROI、预处理器和算法指令、输入/输出指令、读取值、流程或变量等。
18 版本号7140;2008年9月17日
Sherlock使用手册 用户界面概览
此模式与传统的编程语言类似,通过指令窗口和程序窗口的按钮可以创建指令。
子程序
在一个程序中至少会有1个子程序,即主要子程序。子程序允许客户创建模块化的程序。通过把重复的指令组放入分开的子程序,可以使程序变得更为简单,灵活而且容易维护。一个非主要的子程序经常通过使用一个FLOW命令而被执行。当Sherlock执行一个能够产生要求的FLOW命令时,被调用的子程序中的指令会被执行。在被调用子程序的最后一条指令被执行完或一个返回FLOW命令被执行完后,最初的子程序就会被执行并在调用指令后执行指令。除了能够调用子程序外,Sherlock还能间隔执行子程序。在程序窗口中,双击子程序指令来打开子程序选项。
图6:子程序选项
• During calibration(在标定期间)—当程序/标定(F11)被激活时,执行这个子程序。
• After loading an investigation file(在载入检测文件后)—在检测文件载入后,执行这个子程序。此选项有助于进行一次初始化,如打开输入/输出或打开一个文件。
• Before starting continuous investigation(在开始连续检测程序之前)—在选择连续模式后,但在运行主程序前,立即执行这个主程序。此选项对时间要求苛刻或不能保证“稳定状态”的一次性初始化有用。
版本号7140;2008年9月17日 19
用户界面概览 403-00007-00
• After halting continuous investigation(在停止连续检测程序后)—点击停止按钮,并且在检测程序结束后立即执行这个子程序。此选项对时间要求苛刻或不能保证“稳定状态”的一次性终止有用。
• When the ROI moves outside the image window (当ROI移出图像窗口)—用户追踪ROI的移动(对直),并且ROI移出图像窗口时,执行这个子程序。这个特定的错误会被区别对待。
• When a camera timeout occurs(相机超时)—如果相机不能采集新的图像
• When an error occurs(错误发生时)—任何程序错误,而非图像窗口外的ROI或相机超时。
FLOW命令
FLOW子程序能够修改子程序和其它指令的运行顺序。FLOW命令有多种类型:跳过、调用、和返回。使用FLOW编辑对话框来添加、修改或删除FLOW命令。
跳过指令允许当前子程序的任一指令继续运行。注意不要创建一个无限循环。如果要终止一个无限循环的检测程序,可以按ESC键。
调用指令允许从其它子程序的开始持续运行。当被调用的子程序完成时,会返回至调用程序,并在调用指令后重新执行指令。
返回指令在当前的子程序中终止执行程序。在每个子程序的最后,会有一个内含的返回指令,因此无须添加。从主要子程序中返回能终止检测过程。
图像窗口
图像窗口是一个灵活的、虚拟的、可以采集所需图像的相机。图像窗口包含了从一个文件中或一组图像文件序列中,或另一个图像窗口,或从带有采集卡输入或火线接口的相机中采集的数据。
Sherlock提供了创建图像窗口的两种途径:
1.点击位于程序窗口工具栏内的插入图像窗口按钮
2.从指令窗口中拖拽图像窗口指令至程序窗口,在一个检测程序中,用户可以有多个图像窗口。
版本号7140;2008年9月17日 20
Sherlock 使用手册 用户界面概览
图像窗口代表用户想要处理的图像。这个窗口包括标题栏、图像区域和工具栏。
图像窗口在标题栏中始终显示图像窗口名称和相机编号或图像文件名。
用户不能把图像窗口扩展至当前相机或文件图像的尺寸之外。一般来说,在运行新的检测程序时,保持主窗口在屏幕上的最大化状态,这样可以使图像窗口和其它Sherlock窗口获得最大的显示区域。
Sherlock的缩放功能允许用户扩大或缩减图像窗口特定区域的尺寸。使用“=/+”和“-"键或工具栏里的缩放图标来控制缩放。
一旦你从一个图像文件里载入一幅图像,程序就会不断的从这个文件载入直至用户明确告诉Sherlock 从相机(图像窗口/选项)中采集图像。
用户可以极小化图像窗口。ROI和处理工具不会受到窗口极小化的影响。通过点击图像窗口右上角的关闭按钮(×),或点击程序窗口的图像窗口指令并按删除键可以删除图像窗口,删除图像窗口同时也会删除所有的其附带的指令。
ROI
图像窗口包含ROI, ROI是图像的一部分,能够为图像处理提供像素数据。Sherlock 有四种ROI:经提取的、伪装过的、线形和复合形。这四类ROI通过浅的、垂直的线条集中在图像窗口的工具栏内。
读取值
读取值保存的是从Sherlock指令输出的结果。用户可以在公式和输入/输出指令中使用读取值。用户可以把任意读取值(不论变量分派与否)拖拽到观察窗口。分派到变量的读取值将会在变量窗口显示。在Sherlock6中,公差会被分派到编辑读取值对话框中,而在Sherlock7中,用户可以创建一个条件语句来测试读取值和变量的值。
浏览读取值阵列
浏览读取值阵列有两种方式:
版本号7140;2008年9月17日 21
用户界面概览 403-00007-00
游移
1.运行一次检测程序,来获取读取值。
2.把光标在程序窗口的读取值名称上游移,一个弹出式窗口会显示阵列值。
分派到阵列变量
显示读取值阵列,并分派读取值至阵列变量。
1.在变量窗口创建正确的阵列变量类型。
2.把读取值分派到阵列变量。分派方式有两种:
1、把变量拖进程序窗口,并放入读取值名称中;或者
2、在程序窗口中双击读取值名称,这样可以打开编辑读取值对话框。使用载入列表来把读取值分派到阵列变量并点击应用(Apply)。
3.运行一次检测程序,来获取读取值和变量阵列。
4.在变量窗口双击变量名称,这样就能打开阵列变量编辑窗口,用户可以滑动鼠标来查看阵列值。
变量
变量只能在变量窗口内创建和删除,通过变量窗口工具栏的按钮可以创建单值变量和阵列变量。可以在许多地方或对话框分派或不分派变量。变量可被拖拽并载入到读取值。用户可以在读取值上单击右键来分派变量。在变量上双击左键打开对话框,用户可以在对话框中设置变量值或分派变量值。用户可以在程序窗口中选择和删除分派的变量值,但只可在变量窗口中选择和删除变量。当用户要删除一个分派了读取值的变量时,会有提示窗口出现。
指令
指令窗口没有工具栏。用户可以从指令窗口拖拽公式和输入/输出指令至程序窗口。在指令窗口单击右键来打开工具箱列表,选择工具箱会滚动指令窗口至此工具箱。
阵列指令创建并管理阵列、插入和提取阵列编号,但是不能分析阵列值或操作编号。使用数值或字符串指令来操作储存在阵列中的数据或值。
22 版本号7140;2008年9月17日
Sherlock 使用手册 Sherlock 教程
3.SHERLOCK 教程
本教程为Sherlock 功能提供了高水平的诠释。以下章节提供了更多相关细节,比如检测模式、应用选项、编辑对话框。
注意:Sherlock 为许多功能提供多种打开方式,比如:用户可以从文件菜单、主工具栏、或快捷键组合来打开文件。
教程概览
此教程展示了如何来做基本的Sherlock 图像采集和处理,并显示了所有的Sherlock 功能,但不是每个功能的所有细节。后面几章和在线帮助为用户提供把Sherlock作为强大的了所需要的参考资料,是Sherlock 成为有力的,简便的工具。
此教程假定用户对Microsoft Windows很熟悉。如果用户不熟悉,可以查看Windows教程。
本教程可以在没有Sherlock许可情况下;在有Sherlock 许可,但采用相机模拟器或采集卡的情况,以“演示模式”运行。在没有许可的情况下,一些步骤会被跳过,这几点要注意。
简单的检测循环
打开Sherlock
1.在桌面或Sherlock 的程序中双击Sherlock图标打开Sherlock.
Sherlock“闪”屏出现然后Sherlock会显示图像采集和处理环境、主工具栏、图像窗口、程序窗口(图7)。Sherlock默认的是DALSA标志的黑白图像,除非用户改变默认设置。
版本号7140;2008年9月17日 23
Sherlock教程 403-00007-00
图7:默认窗口
创建图像窗口
Sherlock通常会在新程序中创建图像窗口,除非此选项被禁用。如果已有一个图像窗口,进入下一步“载入图像”。如果没有图像窗口(而是如图7中的DALSA标志),则在程序窗口工具栏中点击“ACQ"。
载入图像
2.在图像窗口工具栏中点击载入图像按钮,并从根目录Sherlock\ 图像来载入图像文件MARK1.BMP。图8显示了图像MARK1.BMP的外观。
24 版本号7140;2008年9月17日
Sherlock 使用手册 Sherlock 教程
图8:MARK1图
改变视图
3.进入菜单栏,下拉视图菜单。
4.点击指令。
5.再次下拉视图菜单并点击变量。你的Sherlock窗口如图9所示。在右下角是变量窗 口和指令窗口。
图9:指令和变量
版本号7140;2008年9月17日 25
Sherlock 教程 403-00007-00
创建ROI
6.在图像窗口工具栏上,点击矩形按钮来创建ROI。
7.围绕数字92/10绘制矩形,用户要在所需ROI的左上角点击鼠标左键,按所需尺寸拖拽矩形,然后在用户想要的ROI右下角再次点击左键。
Sherlock创建矩形,用红线或绿线作边界(选择或未选),默认名位于矩形ROI的左上角。图10是矩形ROI的外观。
图10:矩形ROI
ROI的旋转,定位和尺寸
Sherlock 支持修改所有ROI的位置和尺寸、矩形和耙形ROI的旋转。矩形ROI的四个角(实体正方形)都可重置ROI的尺寸。
把鼠标光标移到ROI右上角的紫红色正方形,当光标在它上方时,Sherlock会显示两个头的箭头。按住左键,然后移动鼠标来旋转,释放鼠标按键停止旋转。
26 版本号7140;2008年9月17日
Sherlock 使用手册 Sherlock 教程
把鼠标光标置于ROI中心来移动ROI。Sherlock会显示一个四头箭头。按下鼠标左键并把ROI移动到图像的另一个位置。
把鼠标光标置于ROI边界的任意边缘可重置ROI大小。当光标在它上方时,Sherlock会显示两个头的箭头。按住左键,然后拖动边界线来改变ROI尺寸。
ROI选项
8.显示ROI选项对话框方法:双击ROI、或者在程序窗口中双击ROI名称、或在ROI内单击右键并选择“编辑”。
ROI处理选项对话框允许用户重新选择预处理器和算法。图11是ROI选项对话框。
改变顺序
编辑参数
启用/禁用
删除
标签
ROI名称
图11:ROI选项对话框
版本号7140;2008年9月17日 27
Sherlock 教程 403-00007-00
预处理器
Sherlock 的每个ROI都支持多达7个预处理器选项[Invert(反置),1×11,3×3,dilate(扩大)等等]。
9.在预处理器列表框内(下拉列表,列表框或组合框)选择并决定一个处理方法。在此教程中,我们选择了列表框的第一项:反置。
算法选项
Sherlock 允许用户对ROI进行算法设置。
10.在位于最后一个预处理器列表框的下方的算法列表框内选择一个算法。在此教程中,我们选择了平均值。
在ROI选项中还有其它标签和选项,在此手册的后面将被提到。
11.点击“关闭”按钮。
图12:ROI选项
28 版本号7140;2008年9月17日
Sherlock使用手册 Sherlock 教程
创建一个公式
12.在指令窗口内下滑至“Numeirc"(数字)文件夹。双击文件夹打开它,显示所有数字公式。
13.点击”sqrt"(平方根),拖拽它至程序窗口,并放至“RectA"(图13)。
拖拽至此
选择并拖拽
图13:把公式载入ROI中
如图14所示,公式会在ROI和图像处理(属性)下创建。在F"()SqrtA"下有两个分支。1个是"N0.00",另一个是“N sqrt of n"."N"代表数值。"N0.00"在"N"上有一个指向右下方的小红箭头。这个箭头代表输入。"N sqrt of n"在N上方有一个小绿箭头,代表输出。
注意:当使用程序窗口按钮来创建程序项目时,在选择或突出显示的程序项目下会出现新项目,当拖拽项目至程序窗口(从另一个窗口)时,新项目会出现在你点击项目的下方。当用户在程序窗口内拖拽项目来重新排序时,项目会出现在所点击项目的上方。
版本号7140;2008年9月17日 29
Sherlock 教程 403-00007-00
图14.创建公式
读取值
读取值保存的是从Sherlock指令输出的结果。用户可以在公式和输入/输出指令中使用读取值。用户可以把任意读取值(不论变量分派与否)拖拽到观察窗口。分派到变量的读取值将会在变量窗口显示。在Sherlock6中,公差会被分派到编辑读取值对话框中,而在Sherlock7中,用户可以创建一个条件语句来测试读取值和变量的值。
30 版本号7140;2008年9月17日
Sherlock 使用手册 Sherlock 教程
创建变量
用户只能在变量窗口创建变量(Sherlock6允许用户在许多地方创建变量)。
14.在指令窗口底部点击“变量”标签。
15.通过在变量工具栏中点击两次"N"按钮可以创建两个变量。
图15:变量窗口
分派变量
分派变量有以下几种方式:
16.在变量窗口点击"varA"并拖至程序窗口,把它放入"RectA.Average"下的"N average"。
17.在程序窗口中,右击"N sqrt of n"选择”连接变量"varB"。
18.在程序窗口中,双击"N0.00"来打开一个编辑输入读取值对话框。
19.点击“变量”旁的单选按钮,并用下拉列表来选择"varA"。
需要注意的是,下拉列表也允许用户分派其它变量和读取值至输入数据。
20.点击“OK"(确定)来关闭对话框。
图16:编辑输入读取值
程序窗口外观如图17所示。变量A和B 被分派到由Average(平均数)和Square root(平方根)所创建的输出读取值中。变量A被分派到平方根的输入读取值中。在变量窗口中,"varA"和"varB"仍然为0.00.用户必须运行检测程序来采集它们的值。
版本号7140;2008年9月17日 31
Sherlock教程 403-00007-00
图17.带变量的程序窗口
运行并保存基本的检测设置
21.按F9,或在在菜单栏中选择运行/一次。
Sherlock 能够计算矩形内部的平均亮度和这个平均数的平方根。这个数值将在变量窗口显示。状态栏显示运行程序所需的时间,运行一次大约需要8-19分(连续运行需要5-9分)。
22.在菜单栏中,选择文件/保存来保存本教程的检测程序,Sherlock 会提醒用户去命名此检测程序,并添加扩展名为"ivs".
23.举例说明,打出"tut_1"然后点击”保存“。
注意:Sherlock7有一个“auto-save”自动保存功能。程序默认每20分钟保存一次编辑的程序文件。如果没有编辑,文件就不会再次保存。用户可以在应用选项(69页)内改变保存时间间隔。
32 版本号7140;2008年9月17日
Sherlock 使用手册 Sherlock教程
修改程序循环
Sherlock 读取值、公式、子程序、流程控制、输入/输出控制功能(和在Sherlock Professional的脚本代码)能够使用户毫不费力地完成图像处理。
1.在变量窗口工具栏点击“N”按钮,最多创建2个数字变量。
2.双击"varC"可以打开变量编辑对话框。
3.重命名为"Number Passed"并点击"OK"。
4.双击"varD"。
5.重命名为"Number Failed"并点击"OK"。
创建子程序
6.在程序窗口工具栏中点击子程序按钮。
7.点击名称"subA"。按F2(重命名)或再次点击来编辑名称,并写上PASS。
8.再次点击子程序按钮。点击名称"subA"。按F2(重命名)或再次点击来编辑名称,并 写上PASS。
在程序窗口的底部是Main, PASS和FAIL 的标签。
9.在程序窗口底部点击Main标签,在变量窗口的底部点击指令标签。
条件语句
10.在程序窗口点击"F()SqrtA"。
11.在程序窗口工具栏点击"IFE"按钮,或从指令窗口拖拽"If-Else"指令并放入程序窗口的"sqrt"公式内。
12.双击"ifelseA"指令来打开编辑条件语句对话框(图18)。
13.选择并删除句子"FALSE"。
14.点击左括弧按钮。
15.选择"varA"并拖拽至逻辑表达式组合框。
16.点击">="按钮(大于等于)。
版本号7140;2008年9月17日
33
Sherlock 教程 403-00007-00
图18:条件语句
17.写上数字50。
18.点击右括弧按钮。
19.点击"AND"按钮。
20.点击左括弧按钮。
21.选择"varA"并拖拽其至逻辑表达式组合框。
22.点击"<="按钮(小于等于)。
23.写上数字170。
24.点击右括弧按钮。
用户的逻辑表达式应为:([varA]>=50)AND([varA]<=170)。
用户可以在Sherlock7中创建复杂的逻辑表达式。如果用户愿意,可以测试一个表达式的所有读取值。
条件语句也可以从ROI公差标签内获得,允许用户对ROI属性的部分进行条件测试。
25.点击“Evaluate”按钮。测试结果应为“True"。
26.点击"OK"。
27.在程序窗口点击"If"。
28.点击"call"按钮,并拖拽"call"指令至"If"。
29.双击"call"来打开调用对话框。
30.使用下拉列表来选择“Pass"并点击"OK"。
34 版本号7140;2008年9月17日
Sherlock 使用手册 Sherlock教程
31.在程序窗口点击"Else"。
32.点击"call"按钮,并拖拽"call"指令至"Else"。
33.双击"call"来打开调用对话框。
34.使用下拉列表来选择“Fail"并点击"OK"。
图19:完成的主程序
添加输出
35.在程序窗口底部点击"PASS"标签。
36.在指令窗口中,滑动光标至数字文件夹。(如果内容不可见,双击文件夹来显示其内容)。
37.选择指令"Add",拖拽至程序窗口,并放入名为"Pass"子程序。
注意:如果用户把光标放在程序窗口底部的标签上,也许会打开令一个子程序。把光标放到Pass标签上来重新打开Pass子程序。
38.双击“N number(0.00)”来打开编辑输入读取值对话框。
39.在数值区域内把0.00改为1,点击"OK".
版本号7140;2008年9月17日 35
Sherlock教程 403-00007-00
40.在“N[add input]”上单击右键。(添加输入)
41.在弹出的关联值窗口内,选择变量,然后选择“Number Passed”。
42.右击"N sum"(求和)。
43.在弹出的关联值窗口内,选择变量,然后选择“Number Passed”。
44.在指令窗口,滑至"IO:Reporter"(输入/输出至报表)文件夹。双击文件夹来显示其内容。
45.选择"Print"(打印)指令,拖拽至程序文件夹,并放入公式"AddA"。
46.双击"S**Reporter note**"。
47.在"Value"旁边的区域内键入Passed,点击"OK"。
如果你没有Sherlock许可,以演示模式运行,那么将直接跳至步骤54。 如果没有Sherlock许可,写入到数字输出通道的第48到53步将无效。这些步骤是与Camera Stimulator (相机模拟器)或采集卡一起运行的。
48.在指令窗口中打开IO:Digital Output (输入/输出:数字输出)文件夹。
49.选择指令"Schedule Async Pulse"(设置异步脉冲),并拖拽至程序窗口,放入"PrintA"指令。
50.双击"N channel(-1.00)"并改变数值为0(输入/输出为通道0)。点击"OK".双击"B state(False)"并点击"True"旁的单选按钮。点击"OK".
51.双击"N time(10.00)"。改变10.00至100或1000。点击"OK"。这可以改变脉冲长短。
52.在指令窗口,选择数据输出指令"Write"并拖拽至程序窗口,放至"printA"。
53.双击"N channel(-1.00)"并改变数值为1(输出为通道1)。点击"OK"。
在子程序的最后,用户不需要设置"Return"(返回)指令,因为这有一个内含的指令。
54.在程序窗口的底部点击'FAIL"标签。
55.在程序窗口,在子程序名“Fail”处单击右键。
56.在弹出式菜单中,把光标移至“Numeric(数字)”。在子菜单里,点击“Add”,“AddB”指令会出现在“Fail”下方。
57.双击"N number(0.00)"来打开编辑输入读取值对话框。
58.在数值区域写上1,点击"OK"。
36 版本号7140;2008年9月17日
Sherlock 使用手册 Sherlock教程
59.右击"N[add input]"。
60.在关联值弹出窗口内,选择变量,然后选择"Number Failed"。
61.右击"N sum"(求和)。
62.在关联值弹出窗口内,选择变量,然后选择"Number Failed"。
图20:完成子程序PASS和FAIL
63.在程序窗口中,在“AddB”处单击鼠标右键。
64.在弹出式菜单中,把光标移至"IO:Reporter"。在子菜单中,点击"Print"。
65.双击"S**Reporter note**"。
66.在“Value”旁边的区域内键入Failed,点击"OK"。
如果你没有Sherlock许可,以演示模式运行,那么将直接跳至下一部分“运行程序”。如果你没有Sherlock 许可,写入到数字输出通道的第67到71步将无效,这些步骤是与Camera Stimulator (相机模拟器)或采集卡,或智能视觉检测系统一起运行的。
67.在程序窗口中,在“printB” 处单击鼠标右键。在弹出式窗口中,把光标移到IO:Digital Output (输入/输出:数字输出)。在子菜单中点击"Schedule Async Pulse"(设置异步脉冲)。"Schedule Async Pulse digital outputB"将会出现在"printB"的下方。
68.双击"N channel(-1.00)"并改变数值为1(输入/输出为通道1)。点击"OK".双击"B state(False)"并点击"True"旁的单选按钮。点击"OK".
69.双击"N time(10.00)"。改变10.00至100或1000。点击"OK"。
版本号7140;2008年9月17日 37
Sherlock教程 403-00007-00
70.在程序窗口中,在“printB”处单击右键,在弹出式菜单中,把光标移到"IO:Digital Output"。在子菜单中点击“write”(写入)。“write digital outputB”指令将会出现在"printB"的下方"Schedule Async Pulse digital outputB"的上方。
71.双击"N channel(-1.00)"并改变数值为0(输出为通道0),点击"OK"。
运行检测程序
1.在菜单栏中,下拉视图菜单,并点击记录。
2.在主窗口工具栏中点击绿色箭头(运行一次),或按F9,或使用运行菜单来选择运行一次。
用户应该在变量窗口看到"Number Passed"的值变为1,.还应该看到记录窗口中的字眼"Passed"。
注意:如果观察窗口打开并显示一条错误信息“Error detected in write digital outputA”(在写入数据输出B时检测到错误),那么采集卡或相机模拟器的驱动器将不可用。保存程序,然后采取以下任一种:(1)从两个子程序中删除数据输出指令,或(2)纠正驱动器配置(选项-采集),然后关闭-重新打开Sherlock,重新下载驱动。
3.在图像窗口,拖拽矩形ROI的一角来扩大尺寸。
4.点击绿箭头或再按F9.
用户应该在变量窗口看到"Number Failed"的值变为1,.还应该看到记录窗口中的字眼"Failed"。
如果你有一个Sherlock许可,你就可以观察输出变化。如果你使用采集卡或有与数据输出通道0和1相连的发光二极管,当检测程序通过或失效时,你就可以在输出0或1上看到一个100或1000毫秒的脉冲。用户也可以打开Digital Outputs视图,或观察Camera Stimulator(如果正在使用)。缩小Sherlock主窗口的大小,可以使用户在程序运行时,看到Camera Stimulator.
保存完成程序
5.在图像窗口,拖拽矩形ROI的一角来缩小尺寸,使程序再次通过。
6.点击绿箭头或再按F9来运行程序,并验证通过。
7.保存你的程序名为"Tut2.ivs"。
38 版本号7140;2008年9月17日
Sherlock使用手册 选项和内容
4.选项和细节
本部分将更加详细地描述Sherlock中不同的选项和对话框。
图像窗口选项
右击图像窗口(在任意ROI外)来打开一个弹出式窗口。如果用户的硬件支持多个相机,那么使用这一操作能够使用户很快的更换相机。这个弹出式窗口还允许用户显示或隐藏坐标网格和测量用的原始轴。
如图7所示,第24页介绍过主窗口、图像窗口和程序窗口。
打开图像窗口选项对话框:
• 在图像窗口工具栏内点击选项按钮。
• 左双击图像窗口(在ROI外)。
• 下拉图像窗口菜单,选择选项(Option)。
图像窗口名称—用户可以在这个对话框上方的文本框内写入新名字来重命名图像窗口。
用户也可以在程序窗口通过点击名称来突出显示,然后按F2(重命名)再写入新名称,来重新命名图像窗口。
工具栏—用户可以对任意图像窗口显示或隐藏工具栏。
标签—此对话框在顶部有5个标签:图像来源、图像载入、标定、调整和显示。
版本;2008年9月17日
39
选项和细节 403-00007-00
图像窗口—图像来源标签
选择图像窗口中图像的来源。
图21.图像来源
None(没有)—在窗口内没有图像,此选项适用于后来创建的图像或从程序中载入的图像。
Camera(相机)—活动的相机是图像源。使用下滑键或列表框来选择已安装的硬件所支持的相机接口,用户必须有一个有效的Sherlock软件许可才可以从相机中采集图像。用户可以设置超时时段来限定从相机采集图像的时间,Sherlock将会正常停止检测程序并报告一个超时错误。
40 版本号7140;2008年9月17日
Sherlock使用手册 选项和细节
Camera Tile(拼接图像)—多个相机图像可以被拼贴到一个图像窗口。
水平:水平方向上图像的数量
垂直:垂直方向上图像的数量
• 外部触发器:如果你在使用一个外部触发器信号,点击此复选框。图像窗口和Sherlock程序会等待一个由采集卡或相机发出的触发脉冲来开始图像采集。如果用户不点击此复选框,相机就会采用内部触发(软件触发)。
• 非触发采集超时:用户可以为图像采集设定时间(内部时钟或软件触发器)。如果相机没有采集图像,Sherlock就会记录一次超时,超时被被作为错误输出,除非复选框"On Acquisition Timeout..."(打开采集超时)被选定。正常情况下,Sherlock会在超时错误时停止,但是此选项在应用选项内可以禁用(在超时错误时停止,69页)。
• 触发采集停止:用户可以为外部触发图像采集设定一个停止时间。如果相机没有采集图像,Sherlock就会触发一次停止。停止被报告为错误,除非复选框"On Acquisition Timeout..."(打开采集超时)被选定。正常情况下,Sherlock会在停止错误时停止,但是此选项在应用选项内不可用(在相机停止时停止,69页)。
• 打开采集超时:skip execution of this Image Window and… without a timeout error:(跳过运行此图像窗口,并不产生超时错误):如果此复选框没有被选,那么采集超时(相机超时)被记录为一个错误。正常情况下,Sherlock会在超时错误时停止(采集选项,见69页)。如果此复选框被选,Sherlock运行会跳过所有指令并不在这个图像窗口下处理,而前进到在该图像窗口指令以外的下一条程序。如果超时时间设为一个较低的值,这就创建了一个测验条件。当用户有两个外部触发的异步相机时,这一设置会起很有用。
注意:如果采集超时值被设为-1(无穷)而且采集没有完成,用户就不得不使用Windows任务管理器来终止Sherlock.。
注意:在检测程序被“Halt on camera timeout”(相机超时时停止)终止之前,一旦发生超时错误,子程序“Executes on camera timeout”(见19页)就会运行。如果"On Acquisition Timeout..."复选框被选,图像窗口就不会产生超时错误,子程序“Executes on camera timeout”将不会运行。
版本号7140;2008年9月17日 41
选项和细节 403-00007-00
注意:当触发采集超时发生时,如果"Halt on camera timeout"(当相机超时时停止)设置和"On Aquisition Timeout:"(打开采集超时)都被禁用,那么图像窗口的ROI将会运行。用户可以使用"Acq Status"(采集状态)输出来决定是否要采集图像。当采集停止或"halt on camera timeout"和"On Aquisition Timeout:"其中之一被启用时,ROI就不能运行。
图像窗口—一个图像窗口可以从另一个图像窗口采集图像。当用户不想让所有的ROI和图表或对直目标都显示在一个窗口中时,通常会使用此选项。使用列表框来选择另一个图像窗口。选择图像类型(RGB,YUV,Mono8,Mono16)为Mono16,用户可以选择在此窗口中使用的位数。
• Share buffer(共享缓冲区):如果选择共享缓冲区,两个窗口实际上共享同样的物理内存,并且在一个窗口的处理也会显示在另一个窗口内。如果不选此选项,Sherlock只是复制了图像,对本窗口的处理就只显示在当前窗口中。
合成—用户可以采用2个或3个8位图像创建或合成一个24位的彩色图像。
文件—用户可以使用单个图像文件。当用户开发新的检测程序、测试图像工具、或者测试以文件方式提供的图像时经常用到。
序列—用户可以使用一组保存的图像,可以是载入的图像。执行完该序列后,Sherlock将会返回至第一幅图像并继续。
• 打开图像目录:用户可以从该序列中的任意图像开始。
• 结束图像目录:在任意图像停止或循环(-1是指使用所有图像没有限制)。
• 在载入前设置延迟:在图像之间设置延迟。
读取值—使用读取值作为输出。一些算法输出一个图像;比如说,色表算法输出一个灰阶单色图像。
图像窗口—图像载入标签
图像载入(图22)保存一系列相机采集到的图像至一个目录。这一系列图像可以通过Sherlock图像窗口重新显示。
Enable(启用)—点击此复选框使载入或保存图像可用。
Log directory(载入目录)—写入目录路径或使用文本框右侧的视图按钮来选择目录。
File name(文件名)—Sherlock会采用一个名称前缀,并添加4位数字,扩展名为BMP。只支持二值图像。
42 版本号7140;2008年9月17日
Sherlock 使用手册 选项和细节
Log size(载入容量)—可保存图像的最大数量。图22中的设置能保存100幅图像,从imgA-log-0000.bmp到 imgA-log-0099.bmp。
Extension(扩展名)—选择一个文件格式(图像文件类型):BMP,JPG,PNG,TIF。
Continuous logging(连续载入)—如果此复选框被选,当载入容量达到最大值时,Sherlock就会开始对采集的第一个图像进行重写。如果此选项框没有被选,当载入容量达到最大值时,Sherlock就会停止保存图像。
图22:图像载入
版本号7140;2008年9月17日 43
选项和细节 403-00007-00
图像窗口-标定标签
标定将以像素为测量单位的测量值转换成真实测量单位的值。一些方法还可以校正变形;还有一些方法允许用户使用同一图像做标定和测量;对有些方法,最好使用一个“目标”图像作标定,另一图像作测量。目标图像应置于相机之前,和将要测量的图像距离相同。
图23.标定
图像窗口标定
主动标定—使用下拉列表(或组合框)来选择一个定义的标定方法应用于图像窗口。所有定义的标定都在列表中。如果你选择"None"(没有),图像窗口就不会被标定,而且所有的测量都以像素为计量单位。创建标定的方法会在以后提到。请参照第5部分。相机标定(101页)。
44 版本号7140;2008年9月17日
Sherlock使用手册 选项和细节
Display grid(显示网格)—启用或禁用在图像窗口内显示网格功能。这是以像素或标定单位为形式的测量网格。
• Grid size(网格尺寸):网格线之间的一些像素(或标定单位)的数量。
Display origin(显示原点)—启用或禁用在图像窗口内显示X,Y轴和原点。
使用网格标定图像恢复
主动标定—在重新绘制图像窗口时选择(已定义的)网格标定,以进行校正或恢复图像。用户不需要使用恢复来做标定测量。但是在使用搜索算法之前确实需要采取图像恢复。
以有的系统标定
Calibration(标定)—系统已定义的和已有的的标定程序清单。用户可以在程序窗口中使用指令,或在该菜单中使用按钮来创建一个标定程序。
Add(添加)—点击来增加一个新的标定程序。用户可以在此增加一个标定,并在程序窗口选择它。或者用户可以添加一个标定,并使用下方的按钮来标定这个图像窗口。在运行标定之前,用户必须先添加一个标定程序。
Delete(删除)—在列表中选择一个标定程序,并点击从检测程序中删除它。
Export(导出)—保存检测程序中的已经过计算的标定数据至一个文件(*.cal)。只有在使用同一相机、同一镜头,同一相机位置和同样的间隔距离的情况下,此数据才有效。
Import(导入)—载入之前保存的或已导出的标定数据。只有在使用同一相机、同一镜头,同一相机位置和同样的间隔距离的情况下,此数据才有效。
Manual calibration(手动标定)—在列表中选择一个标定程序,点击此按钮来定义基于放大器或刻度比率的标定。点击此按钮打开标定窗口,在点击此按钮前,标定图像(目标)必须在图像窗口中,请参考第5部分,相机标定(101页)。
Point calibration (点标定)—在列表中选择一个标定程序,点击此按钮来定义基于用户在图像内创建的点的标定。点击此按钮打开标定窗口。在点击此按钮前,标定图像(目标)必须在图像窗口中,请参考第5部分,相机标定(101页)。
Grid calibration(网格标定)—在列表中选择一个标定程序,点击此按钮来定义基于网格的标定。点击此按钮打开标定窗口,在点击此按钮前,标定图像(目标)必须在图像窗口中,请参考第5部分,相机标定(101页)。
版本号7140;2008年9月17日 45
选项和细节 403-00007-00
手动标定
通过提供刻度(或放大)因数,可以手动标定测量距离。此方法适用于当用户知道填充相机图像的目标的具体尺寸或视野的具体尺寸时。
图24.直接标定
Origin position in image(图像中原点的位置)—为测量原点输入的X轴和Y轴的坐标,并定义正方向和负方向。一般情况下,默认值为(0,0),位于图像的左上方。点击“calibrate” (标定)或改变角度可以看到原点移动到新的位置。
Each pixel in new units(新单位的每个像素值)—输入X轴和Y轴的放大因数。默认值为1,1是以像素为单位的测量结果。举例说明:如果你知道相机图像是5cm宽,图像窗口的标题栏写明图像大小是648×489:
X的值为5cm/648像素=0.00771cm/像素。如果这个数字被计以整数,那么在应用选项中查看“Displayed floating point precision”(精确到小数点显示)设置。
46 版本号7140;2008年9月17日
Sherlock使用手册 选项和细节
Angle/deg(角度)—使用箭头或输入1个数字来旋转X轴和Y轴,并定义测量的0旋转。
Show Grid(显示网格)—点击复选框来显示测量网格。
• Grid Size(网格尺寸):输入一个数字作为网格尺寸(已标定的单位),然后点击复选框。如果显示的是旧网格,点击Show Grid一次来隐藏旧网格,点击第二次来显示新网格。
Calibrate(标定)—点击按钮来运行用户的新标定标度因数和旋转。
Close(关闭)—关闭标定窗口。
点标定
通过提供参照点来人工标定测量距离。此方法适用于当用户知道相机图像中目标的具体尺寸时。用户需要4个点来标定。通常情况下,这4个点是靠近图像或目标的角落的。其中一个为(0,0)点,其它点为X轴和Y轴到此点的距离(单位为英寸,毫米和微米)。
图25.点标定
版本号7140;2008年9月17日 47
选项和细节 403-00007-00
这个窗口提供了两种选择标定点的方法:
• "Available Points"(可用的点)列出了由检测程序所创建的点;通常情况下是处理后所得出的结果(读取值)。双击列表中的某一点,进入弹出窗口的"world position",点击"OK",这个点就被列在“标定点”中。
• 点击图像来创建一个点,进入弹出窗口的"world position",点击"OK",这个点就被列在“标定点”中。
•
标定点—列明了用户已经分派到标定的所有点。
• Image(图像):以像素为单位的点坐标。
• World(坐标):新单位中的点坐标。
Available reading points(已有的读取值点)—列明了检测程序中定义的所有点的读取值。
Show grid (显示网格)—只在此对话框的此图像中启用网格显示。
• Grid size(网格尺寸):在标定单位中,分隔或定义网格线的空间。
Calibrate(标定)—点击按钮来运行新标定。
Close(关闭)—关闭标定窗口。
网格标定
手动(实时或交互)标定测量距离可使用:对照板,线网格和点网格。此方法适用于当用户知道网格中要素间的间隔时。这个方法对校正透视变形和径向畸变也很有帮助。
注意:为了得到更好的效果,图像网格或对照板应充满图像窗口。
标定算法
标定方法—选择出现在图像中的畸变类型。如果不需要校正,就使用Perspective (透视),因为它涉及最少量的运算。
• Piecewise Perspective(分段透视):对局部的和透视变形进行校正。对每个方块或网格中一个单位进行四点绘图计算。
• Piecewise Bilinear(分段双线性):校正局部变形,但不校正透视变形。假定图像面板与相机传感器面板是平行的(见图111)。对每个方块或网格中一个单位进行双线性计算。
• Radial(径向):只校正径向畸形,不校正透视变形。径向畸形是一些镜头的通常变形;“鱼眼”或“桶状”变形是这些变形的通用名称。
• Perspective(透视):只校正透视变形。可以对整个图像进行一个四点绘图,这是最快的标定方法;使用较少的计算。
48 版本号7140;2008年9月17日
Sherlock使用手册 选项和细节
图26.网格标定
注意:所有这4种方法都使用同样的检测运行时间。一些方法在标定时计算重新绘图上会花费较多的时间。
Focal Center Mode (焦点中心模式)(在径向标定时可用)—定义如何找到径向畸变的中心:
• Auto(自动):算法可以自动找到或计算出径向畸变的中心。
• Fixed (固定):通过X轴和Y轴的像素坐标手动输入径向畸变的中心点。
Focal Center(pixels):(在标定方法为径向、焦距中心为固定时可用)—径向畸变的中心被输入到X轴和Y轴 像素坐标。
网格信息
Update from Main Window(从主窗口所得更新)—点击从图像窗口更新显示。如果你之前运行过标定,图像区域可能会显示最后一幅标定的图像。
版本号7140;2008年9月17日 49
选项和细节 403-00007-00
Grid Type(网格类型)—定义目标或标定图像。一般来说,对照板通常能给出最好的结果,而一个点模板得到的准确度最低。但有时受制于应用需要或物理限制,可能需要使用一个低级的模板。
• Checkerboard(对照盘):由间隔的黑白方块形成的参考网格。
• Lines(线):由交叉的垂直的线形成的网格。
• Spots(点):有横竖间隔都相同的点构成的网格。
• Black Lines(黑线):由在白色背景下交叉垂直的黑线构成的网格。
• Black Spots(黑点):由白背景下,横竖间隔相同的黑点构成的网格。
• White Lines(白线):由在黑色背景下交叉垂直的白线构成的网格。
• White Spots(白点):由在黑色背景下,横竖间隔相同的白点构成的网格。
坐标网格绘制
Image (pixels) 图像(像素):Reference Point (参考点)—用于作为测量原点的图像中像素的位置。在没有输入参考点的情况下运行一次标定,然后点击标定图像来定义原点。当你点击图像区域时,数字框就会填上未标定的像素坐标。使用相同的网格和测量,再次运行标定,但是设定新的原点,。
World (world units) Reference Point(坐标参考点)—坐标或坐标单位中的位置或原点;定义正方向和负方向。
Grid Size(网格尺寸)—网格中的已知间隔和空间。输入水平(X)和垂直(Y)的空间。
Angel(角度)— 如果网格有一个已知角度(距水平线),输入一个值(默认值为角数)。
Display detected grid(显示检测到的网格)—如果选择此选项,在标定窗口中绘制的绿线就会生成变形网格区域。如果网格没有充满图像,这些线可能会在网格外乱作一团,请使用一些校正方法。
标定结果
Calibration error(标定错误)—计算变形校正时得出的距离误差。0是理想结果。用户可以使用这个数值来与重复的标定结果做对比。但是,如果下一个标定比现在的标定增加了单元格或方块数,所使用的标定间隔也会相应增加,对比就是无效的。标定错误不适用于分段方法。
50 版本号7140;2008年9月17日
Sherlock使用手册 细节和选项
图像恢复
Interpolation Mode( 插值模式)—如何在恢复图像中创建与原图像像素不同的新像素;用于填充间隔。
• Nearest neighbor (最近的间隔):使用距离最近的像素的值(无插值)。这个方法是运算最快但最不精确的。
• Bilinear(双线性):使用原图像的4个相邻像素来计算双线性插值。此选项比最近的间隔插值更准确但速度较慢,然而没有双立体插值精确但比后者速度快。
• Bicubic (双立体):使用原图像的16个相邻像素来计算双立体插值。此选项是最准确但是速度最慢的方法。
背景—如何在恢复图像的外部区域生成像素。以下三种方法在速度上差异非常微小。
• Auto(自动):取原图像四个角的像素值的平均值,此方法速度稍微慢一些。
• User value(用户自定义数值)—使用输入到数字框的像素值。
• None(没有):不创建新背景,使用原始图像,并用覆盖原图像上方的结果。
Show coordinate grid (显示坐标网格)—显示测量网格。
Size( world size)[尺寸(坐标单位)]:以标度单位测量的坐标网格的间隔。
注意:标定和恢复是分开的操作,并且不能同时进行。在一个窗口内进行标定操作。选择完成的标定为活动状态,在另一个图像窗口来执行恢复操作。两个窗口可使用同一图像源。
版本号7140;2008年9月17日 51
选项和细节 403-00007-00
网格标度目标
以下要讨论的是关于网格标定和目标的三个非常重要的限制:点的最少数量,缓冲区或边缘区域、原点和标度。
• 形成网格的点的最小值为4,这是纯透视变形能接受的形成方块的最小值。然而,网格点数越多,标定效果越好;因此建议使用尽可能多的网格点。
图27.最小网格目标
• 对对照板或线标定目标来说,在边缘任意点和图像的边缘,算法需要一个10像素的缓冲区。因为标定时会需要方块。比如,如果在一个对照板中,一个方块的上边缘与图像上边缘只有8像素之差,那么即使这个方块都在图像中,也不能被用来创建校正图。
• 网格标定可以校正源图像。校正源图像的过程开始于显示在标定对话框中的被检测到的网格中被指定为原点的那个点。在默认情况下,这应是网格最左上角的点的中心或方块的中心;用2个红箭头作标志。原点便成为校正图像中像素值为(0,0)的点;在网格原点左边和上方的像素不在校正范围内。
52 版本号7140;2008年9月17日
Sherlock使用手册 选项和细节
图像窗口—校直标签
Sherlock允许用户为每个相机或图像窗口创建多种校直程序。用户可以在此创建和管理校直程序。参考第6部分关于校直的细节(112页)。用户还可以在ROI属性中选择和分派校直程序。
Alignment(校直)—列明了当前已定义的校直程序。使用创建校直按钮来创建一个新的校直程序。用户可以通过在名称上点击2次,然后在活动框内输入新名称来重命名校直程序。
Point reading(点读取值)—列明了检测程序中所有可用的点读取值,由检测程序所创建的点;通常是处理的结果(读取值)。用户可以拖拽点的读取值并放在校直程序名称上。点可以在多个校直程序中使用。
版本号7140;2008年9月17日 53
选项和细节 403-00007-00
Create Alignment(创建校直)—点击向校直列表中添加新名称。拖拽并把点读取值放入校直名称中。
Reset home position(重置原始位置)—当创建新的校直程序时,在列表中选择一个校直程序,点击按钮来保存它并把这个程序设置为新的起始参考点。
图像窗口—显示标签
Bpp for 16-bit images (16位图像的二值图)—比每像素8位大的黑白图像,被分派为MONO16类型。此显示选项允许用户设置实际的像素尺寸,因此图像可以在图像窗口正确显示。使用下拉菜单来选择像素深度或位数。
图29.显示
54 版本号7140;2008年9月17日
Sherlock使用手册 选项和细节
ROI
图像窗口包含ROIs(感兴趣区域)。ROI是用于处理的像素数据,是图像的一部分。Sherlock 有4类ROI:提取的,经伪装的,线形的和组合的。这4类ROI由灰色的垂直线汇集在图像窗口的工具栏内。
图30.ROI类型
ROI只适用于预处理器和算法,不适用于指令。
提取的ROIs
提取的ROI的像素是从图像中提取,并形成矩形缓冲区。如果必要的话,可以把ROI像素变形以塞入矩形内。比如,一个环形ROI使像素朝着外径的方向被“挤在一起”,而内径的像素被“扩展开”。一个弯曲的矩形就被提取为一个真正的矩形。
图31.提取为矩形
因此对提取的ROI进行测量时时,用户非常小心。因为像素是形式简单并且一致的,所以提取ROI的处理速度非常快。线形和组合ROI也是提取ROI,但是它们是单同向性的。
插值
当从一个输入图像中提取像素时,既可以使用临近插值,也可以使用双线性插值。在ROI处理选项的插值复选框中可以选择插值的类型。
当复选框插值没有被选择时,会使用临近插值。这就意味着最接近目标像素位置的像素将会被使用,事实上这并不是真正的插值。
版本号7140;2008年9月17日 55
选项和细节 403-00007-00
如果插值复选框被选,程序就会使用双线性插值就会根据残留像素的位置得出像素值,在被提取图像中,双线性插值可以产生更精确的像素值,但是速度比临近插值要慢。
如果用户使用非旋转、矩形ROI,没必要使用双线性插值。同样,在经伪装的ROI中,双线性插值也是不必要(或不可用)的。在线形和组合ROI中,插值是线形的而不是双线形的。
注意:在彩色图像中,“插值”复选框不起作用。彩色图像的插值会造成虚假颜色,所以不适用。
插入结果图像
每一个ROI都可以经过一系列预处理器和算法。预处理器可以修改像素值,算法也可以修改像素值。在ROI处理过程的最后,最终图像会被“插”回到图像窗口用以显示和做额外处理。
如果在ROI处理选项中“Modify Image Window修改图像窗口”复选框被选,被处理的图像将会被插回并修改图像窗口。
在默认情况下,对提取的和经伪装的ROI来说,此复选框是被选的;而对线形和复合ROI来说,此复选框未选。线形和复合ROI通常只用于不对图像进行修改的测量(算法)。
在不使用插值的情况下,对选择临近像素值的方法处理后的ROI图像插回到图像窗口中,这样会在图像窗口的修改区域内产生错误,这些错误包括位置错误和像素值错误。比如,创建环形ROI,用同一强度值来填充它并插回到图像窗口中(Modify Image Windows复选框被选择)。用户会看到如图32所示的情形。
图32:图像插值错误
56 版本号7140;2008年9月17日
Sherlock 使用手册 选项和细节
插入的像素并不都是与环形ROI定义的区域都相匹配的。当插入的像素都是同一值时,像素错误就不是很明显。当在ROI间使用“层叠”的处理器时应非常小心,最好使用Image Extract(图像提取)算法和Image Inject(图像插入)预处理器来“层叠”ROI处理,因为它们在图像窗口处理了的是提取的(和插值的)的图像而不是直接处理“非提取”和其它提取(和插值)的图像。
经伪装的ROI
经伪装的ROI表明那些像素是被长度编码(RLE)使用过的,哪些是被可选伪装过的图像使用的。经伪装的ROI的优点是,在ROI内不会在距离和区域测量上产生扭曲,而且不需要插值,但是比起提取的ROI来说处理速度会较慢,因为像素的访问和边界情况更加复杂。
比如,绘制在图像窗口的多边形ROI,见图33的左侧。Sherlock 能够计算出边界框(含概ROI的矩形),运行长度编码图解和一个可选伪装过的图像。
版本号7140;2008年9月17日 57
选项和细节 403-00007-00
运行长度编码图解
经伪装的ROI经常会有一个运行长度编码(RLE)图解。这个图解有一些指针来指向链接表,一个指针对应图像窗口的一行。每一个链接表容纳那一行中ROI的图像片段。每一个链接表包括图像片段的一个起点X(水平方向)位置、片段的长度(以像素数量计算)和指向下一个链接表或为Null(空),空出现在在此行再没有片段的时候。
在使用RLE图解时,Sherlock重申,通过一些指针可以连接到图像片段的链接表,打开链接表就可以在图像窗口中看到那一行的片段。
伪装过的图像
伪装过的图像是由运行长度编码(RLE)图解所创建的一个8位图像,灰度值为255代表是在ROI中的像素,灰度值为0代表不在ROI中的像素。伪装过的图像是整个图像窗口的大小。在退出功能选项后,Sherlock总是自动的运行伪装过的图像,因此只有在经伪装的ROI区域内的像素会被改变。
伪装过的图像对于处理有边界条件的情形非常适用。假定我们要在一个经伪装的ROI上应用一个3×3的“锐化的”卷积滤波器。在ROI的边缘,当不是所有的9个像素都在ROI中时,调整卷积的代码是非常复杂和缓慢的。取而代之的是,我们把卷积应用到由ROI的边界框定义的矩形图像区,然后让Sherlock自动地选择在输出图像中哪些像素改变了(在ROI中)和哪些像素没有改变(在ROI外)。
使用伪装过的图像的另一个优点是,对矩形区域的处理一般比较快,因为访问像素比较简单而且可以应用平行处理指令设置(比如MMX指令集)。使用伪装过的图像的主要缺点是创建图像和保存图像的时间,以及使用伪装过的图像来“后处理” 已处理过的图像的时间。如果用户使用伪装过的图像,后处理步骤(选择只把经伪装的ROI内的像素作为输出结果输出到图像)不可以被禁用。
线形ROI
线形ROI(点,线,多线,弧形和圆圈)是很小的提取图像,可当做提取的ROI使用。与提取ROI一样,线形ROI有一个插值选项,但是插值是线性的而不是双线性的。彩色插值是不被支持的。
点ROI被当做1×1的图像处理而且是一个特殊类型。线形图被认为是1×N(行)图像。多线形图像被“扁平化”后当成是一个更长的1×N图像。弧形图像也被当成是一个1×N图像。圆形ROI在(紫红色)方块和(红)箭头交接处裂开,并展开称为一条起点为(紫红色)方块的1×N图像。
58 版本号7140;2008年9月17日
Sherlock使用手册 选项和细节
线形ROI经常被用做测量(算法)并且不需要在ROI处理链的最后修改图像窗口。因此,线形ROI的默认值为不选择“Modify Image Window修改图像窗口”复选框。
对单一像素(点)所采用的的算法和预处理器经常可以使用相同的编码来处理提取的、线形和复合ROI。与卷积和形态学操作一样,当需要图像区域时,编码肯定会不同。比如,线形ROI的Erode 预处理器处理线性ROI(一个1×n图像),而矩形ROI的Erode 预处理器则处理一个较小的图像区域(m×n)。
复合ROI
复合ROI(耙形、彩虹形、牛眼形、轮辐形和部分轮辐形)由多条线段,或由多个线形ROI组成。和线形ROI一样,每个复合ROI的线被提取为(有或没有插值)一组1×N图像。彩色图像不支持插值。
复合ROI的每一个线段都可以调用一次预处理器或算法,并可以被“扁平化”和可选性的以1×N的图像形式插值线段。
复合ROI经常被用来做测量,并且需要修改图像窗口。因此,线形ROI的默认值为不选择“Modify Image Window修改图像窗口”复选框。
很多算法和预处理器可以使用相同的编码来处理提取、线形和复合ROI。复合ROI也可以被“扁平化”为一系列1×N图像。
牛眼形ROI在(紫红色)方块和(红)箭头交接处裂开,并展开称为一条起点为(紫红色)方块的1×N图像。彩虹形ROI也可以被扁平化。
版本号7140;2008年9月17日 59
选项和细节 403-00007-00
ROI选项
打开ROI选项对话框“编辑ROI”(图34)的方法:
• 在图像窗口的ROI上双击左键。
• 在程序窗口的ROI指令上双击左键。
• 在任意ROI的边缘,或ROI区域内单击右键,在弹出对话框内选择“编辑”。
ROI名称—用户可以通过在这个对话框上方的文本框中输入一个新名字来重命名它。也可以在程序窗口中点击名称来突出显示,然后按F2(重命名)并输入新名称来重命名它。
标签—编辑ROI对话框在上方有4个标签,分别为处理、定位、属性和公差。当你点击标签时,此窗口底部的按钮保持不变。
抓取—在不进行处理时,更新ROI内部的图像。
重复—更新ROI图像并重复应用处理程序直到再次点击此按钮。按钮会显示为"停止“。
应用—采用处理或属性修改,一次。
ROI—处理标签
为此ROI选择预处理器和算法。预处理器会被按顺序的运行。改变预处理器的顺序会改变最终结果。
60 版本号7140;23008年9月17日
Sherlock使用手册 选项和细节
图34.ROI处理
预处理器—使用下拉菜单或组合框来选择一个预处理器。可选预处理器的列表会随着ROI形状和图像类型的变化而变化。
• 复选框启用或禁用处理器。用户可以在不删除的情况下暂时禁用一个预处理器,它可以保存用户对参数设置的所有改变。
• X按钮可以删除预处理器。
• 如果存在用户可以修变的参数,那么参数按钮是活动的。并非所有的预处理器都有参数,点击参数按钮可编辑参数,参考“Editing Parameters编辑参数”。
• 蓝箭头可以使预处理器在列表内上下移动,程序所提供的预处理器是有顺序的,按它们出现的顺序排列。改变顺序会改变最终结果。
算法—使用下拉菜单或组合框来选择一个算法。可选算法的列表会随着ROI形状和图像类型的变化而变化。程序所提供的算法是有顺序的,按它们出现的顺序排列。算法是独立的。排列顺序改变不会改变结果,除非使用变量来共享算法间的值。
版本号7140;2008年9月17日 61
选项和细节 403-00007-00
• X按钮可以删除算法。
• 如果存在用户可以改变的参数,那么参数按钮 是活动的。并非所有的算法都有参数,点击参数按钮可编辑参数,参考“Editing Parameters编辑参数”。
编辑参数
大多数的编辑参数对话框都会为编辑数值提供一个标准的界面。点击右边的数值框来激活它以便修改参数值。当数值框是活动的时,参数名称是突出显示的。
Value or Variable数值或变量:“N”按钮显示参数是一个数值。点击N来改变数值框的变量。按钮就会变为“var”。数值框会变为下拉菜单来显示检测程序中的所有变量。
Number数字—数字框通常有上下箭头,通过每次点击,可以增加或减少一个数值。用户可以突出显示数字值并输入一个新值。点击“N"按钮,将其变为“var”,数字参数可以被分派到变量。下拉菜单显示的就是可选的所有变量。
Booleans布尔值—布尔框有一个下拉列表来分派真或假(True or False)。用户可以在输入框处双击左键来切换真和假。点击“N"按钮,将其变为“var”,布尔参数可以被分派到变量。下拉菜单显示的就是所有变量。
Enumerated列举数据—列举数据框有一个下拉列表,列明了已定义的值。用户可以双击左键来查看这些值。点击“N"按钮,将其变为“var”,列举数据可以被分派到变量。下拉菜单显示的就是可获得的所有变量。
图35.编辑参数对话框
编辑参数
大多数的编辑参数对话框都会为编辑数值提供一个标准的界面。点击右边的数值框来激活它以便修改参数值。当数值框是活动的时,参数名称是突出显示的。
Value or Variable数值或变量:“N”按钮显示参数是一个数值。点击N来改变数值框的变量。按钮就会变为“var”。数值框会变为下拉菜单来显示检测程序中的所有变量。
Number数字—数字框通常有上下箭头,通过每次点击,可以增加或减少一个数值。用户可以突出显示数字值并输入一个新值。点击“N"按钮,将其变为“var”,数字参数可以被分派到变量。下拉菜单显示的就是可选的所有变量。
Booleans布尔值—布尔框有一个下拉列表来分派真或假(True or False)。用户可以在输入框处双击左键来切换真和假。点击“N"按钮,将其变为“var”,布尔参数可以被分派到变量。下拉菜单显示的就是所有变量。
Enumerated列举数据—列举数据框有一个下拉列表,列明了已定义的值。用户可以双击左键来查看这些值。点击“N"按钮,将其变为“var”,列举数据可以被分派到变量。下拉菜单显示的就是可获得的所有变量。
图35.编辑参数对话框
62 版本号7140;2008年9月17日
62 版本号7140;2008年9月17日