Halcon表面划伤检测实例_第1页
Halcon表面划伤检测实例_第2页
Halcon表面划伤检测实例_第3页
Halcon表面划伤检测实例_第4页
Halcon表面划伤检测实例_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Halcon表面划伤检测实例   *关闭活动图形窗口  dev_close_window () * 在程序执行中指定输出行为为 off。  dev_update_window ('off') * * * step: acquire image 步骤:获取图像  * *读入文件名为 'surface_scratch' 的图像到Image read_image (Image, 'surface_scratch') 

2、; get_image_size (Image, Width, Height) *打开一个和Image宽高比一致的图像窗口  dev_open_window_fit_image (Image, 0, 0, Width, Width, WindowID) *设置 窗口字体大小为 12,字体类型为Courier,粗体不倾斜字体。  set_display_font (WindowID, 12, 'Courier', 'true', 'false') *设置填充模式为

3、9;margin'  dev_set_draw ('margin') *定义输出轮廓线宽为4 dev_set_line_width (4) *显示Image到窗口 dev_display (Image) *WindowID窗口使用黑色字体在一个方框内显示按"F5"继续运行 字体,并注册F5消息处理  disp_continue_message (WindowID, 'black', 'true')  stop

4、() * *  * step: segment image 步骤:图像分割  * *  * -> using a local threshold 使用局部阈值 * 对Image进行7*7均值滤波 mean_image (Image, ImageMean, 7, 7) * *得到的图像为: * * * *用均值滤波图像作为二值化阈值图像,返回小于灰度值小于该点阈值-5的图像。 dyn_threshold (Image, ImageM

5、ean, DarkPixels, 5, 'dark') * *得到的区域为:   * -> extract connected components 提取连通分量 *由分割出来的DarkPixels获得连通区域到ConnectedRegions *得到的连通区域为:   connection (DarkPixels, ConnectedRegions) *设置混合输出颜色为12种  dev_set_colored (12) *显示当前

6、图形窗口中的图像对象。 dev_display (ConnectedRegions) *  disp_continue_message (WindowID, 'black', 'true')  stop () * *  * step: process regions 处理区域  * *  * -> select large regions 选取大区域 *从ConnectedRegions中得到面积大于10小于1000的

7、区域到SelectedRegions  select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 10, 1000)  *设置当期图像窗口的图像对象为Image  dev_display (Image) * 设置当期图像窗口的图像对象为SelectedRegions  dev_display (SelectedRegions) disp_continue_message (WindowID, &

8、#39;black', 'true')  stop () * -> visualize fractioned scratch 可视化划分划痕 *打开窗口设置局部 open_zoom_window (0, round(Width/2), 2, 303, 137, 496, 3, WindowHandleZoom) *设置输出颜色为蓝色 dev_set_color ('blue')  dev_display (Image)  dev_displ

9、ay (SelectedRegions)  disp_continue_message (WindowID, 'black', 'true') stop ()  * -> merge fractioned scratches via morphology 通过形态学合并划痕 *合并SelectedRegions的并集到RegionUnion union1 (SelectedRegions, RegionUnion) *以3.5作为圆形区域扩张的半径,对RegionUnion扩张

10、得到RegionDilation dilation_circle (RegionUnion, RegionDilation, 3.5)   dev_display (Image)  dev_display (RegionDilation)  disp_continue_message (WindowID, 'black', 'true') stop () *由RegionDilation获取骨架给Skeleton  skeleton (Regi

11、onDilation, Skeleton)  *通过8邻接或四邻接方法将骨架链接后传给Errors  connection (Skeleton, Errors)  dev_set_colored (12)  dev_display (Image)  dev_display (Errors) disp_continue_message (WindowID, 'black', 'true') stop () * -> disting

12、uish small and large scratches 区分大小划痕 *关闭窗口 close_zoom_window (WindowHandleZoom, Width, Height) *选择面积大于50小于1000的区域到Scratches  select_shape (Errors, Scratches, 'area', 'and', 50, 10000) *选择面积大于1小于50的区域到Dots  select_shape (Errors, Dots, 'area', 'and', 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论