资源描述:
《机器视觉实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、机器视觉软件HALCON实验指导书目录实验1HALCON概述,应用范例实验2HDevelop介绍,操作编程范例实验3HALCON编程接口,高级语言编程实验4HALCON数据结构,采集硬件接口实验5HALCON采集硬件配置,图像采集实验6HALCON二维测量,配准测量与识别定位实验7HALCON一维测量,尺寸测量实验8HALCON三维测量,3D重建测量实验1HALCON概述,应用范例实验2HDevelop介绍,操作编程范例1邮票分割文件名:stamps.dev 第一个例子进行文件分析任务。图5.1展示了部分邮票目录页。它描述了两种不同的邮票:以图形描述为主和以文
2、字描述为主。为了使用这个例子,必须把文字描述转化为计算机所能理解的形式。你可能使用OCR编程方式,你很快发现由于邮票的图形描述会导致大多数的可使用模块产生错误。于是另一项任务必须要进行预处理:对所有的邮票进行转化(例如,把邮票转化为灰色有价值的纸),这样就可以使用OCR处理邮票的剩余部分了。当创造一个应用程序来解决这种问题,对要处理的对象进行特征提取是非常有帮助的。这个任务可以为新手提供解决的这类问题一些的经验。l一般而言,特征提取有如下步骤:邮票比纸要黑。l邮票包含图像的部分不重叠。l邮票具有最大最小尺寸。l邮票是长方形的。图5.1:Michel图表的部分页
3、.如果直接使用属性清单而非编程,任务会变得很简单。可惜由于语言的含糊,这是不可能的。所以你需要建构具有精确的语法和语义的语言,尽可能接近非正式的描述。使用HDevelop语法,一个通常的程序看起来如下:dev_close_window()read_image(Catalog,’swiss1.tiff’)get_image_pointer1(Catalog,Pointer,Type,Width,Height)dev_open_window(0,0,Width/2,Height/2,’black’,WindowID)dev_set_part(0,0,Height-
4、1,Width-1)dev_set_draw(’fill’)threshold(Catalog,Dark,0,110)dev_set_colored(6)connection(Dark,ConnectedRegions)fill_up(ConnectedRegions,RegionFillUp)select_shape(RegionFillUp,StampCandidates,’area’,’and’,10000,200000)select_shape(StampCandidates,Stamps,’compactness’,’and’,1,1.5)small
5、est_rectangle1(Stamps,Row1,Column1,Row2,Column2)dev_display(Catalog)dev_set_draw(’margin’)dev_set_line_width(3)disp_rectangle1(WindowID,Row1,Column1,Row2,Column2)由于一些为止的操作符合不熟悉的语法,这个程序咋看起来会很晦涩。但如果仔细看一下这个操作符,你就会注意以下说明的直接联系。threshold选择全部图像像素黑暗比值。connection合并所有选定像素触摸相互连通区。selectshape选择
6、区域面积(属性:'面积')在指定区间内。smallestrectangle1计算每个区域的坐标(连续/栏)的包围矩形。一旦用户熟悉了承操作符和语法、转换就变得很容易。特别需要指出,对于程序来说,图像或者加工区是否被处理并不重要,你可以使用相同的方法处理他们。.由于中间数据结构的内存管理对用户来说是透明的,你可以不必理会它,你可以集中解决图像分析任务。图5.2邮票分割处理的结果2毛细血管文件名:vessel.dev这个例子的任务是分割毛细血管。尤其,你要把图5.3(图像左)的细胞区域的上、下部分从图像的中央区域区分开。区界线很模糊,甚至以人的来认识他们都是困难的
7、。乍看之下,似乎很难找到一个分割准则:在这两幅图的灰度值既无明显清晰的边界也无明显的不同。所以用限定操作或边界操作并不是很有用。解决这一问题的一个方法是利用区域的不同质地:细胞比有血液供应得部分的更有角质化。强调这种差异,你可以用纹理变换。变换是线性纹理过滤加大对某些频率所要求的典型纹理。HALCON的相应操作叫做纹理法则。你必须指明大小和过滤式。双方属性确定的频率的性能。在这个程序里过滤器”el”使用5×5的大小。在垂直方向和水平方向,它表现了一个平滑推导。因此在垂直方向是加大结构。你不可以直接使用计算机的处理结果(图5.3右),因为他有太多的斑点。因此,你
8、可以通过一个主要的过滤器产生纹理图像。