Halcon表面划伤检测实例Word格式.docx

上传人:b****1 文档编号:5750403 上传时间:2023-05-05 格式:DOCX 页数:11 大小:627.31KB
下载 相关 举报
Halcon表面划伤检测实例Word格式.docx_第1页
第1页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第2页
第2页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第3页
第3页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第4页
第4页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第5页
第5页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第6页
第6页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第7页
第7页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第8页
第8页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第9页
第9页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第10页
第10页 / 共11页
Halcon表面划伤检测实例Word格式.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Halcon表面划伤检测实例Word格式.docx

《Halcon表面划伤检测实例Word格式.docx》由会员分享,可在线阅读,更多相关《Halcon表面划伤检测实例Word格式.docx(11页珍藏版)》请在冰点文库上搜索。

Halcon表面划伤检测实例Word格式.docx

*step:

acquireimage步骤:

获取图像 

*****读入文件名为'

surface_scratch'

的图像到Image 

read_image(Image,'

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'

*设置填充模式为'

margin'

dev_set_draw('

*定义输出轮廓线宽为4 

dev_set_line_width(4) 

*显示Image到窗口 

dev_display(Image) 

*WindowID窗口使用黑色字体在一个方框内显示按"

F5"

继续运行字体,并注册F5消息处理 

disp_continue_message(WindowID,'

black'

stop() 

segmentimage步骤:

图像分割 

*->

usingalocalthreshold使用局部阈值 

*对Image进行7*7均值滤波 

mean_image(Image,ImageMean,7,7) 

********************************************************************* 

*得到的图像为:

*

*用均值滤波图像作为二值化阈值图像,返回小于灰度值小于该点阈值-5的图像。

dyn_threshold(Image,ImageMean,DarkPixels,5,'

dark'

*************************************** 

****得到的区域为:

extractconnectedcomponents提取连通分量 

*由分割出来的DarkPixels获得连通区域到ConnectedRegions 

*******得到的连通区域为:

connection(DarkPixels,ConnectedRegions) 

*设置混合输出颜色为12种 

dev_set_colored(12) 

*显示当前图形窗口中的图像对象。

dev_display(ConnectedRegions) 

processregions处理区域 

selectlargeregions选取大区域 

*从ConnectedRegions中得到面积大于10小于1000的区域到SelectedRegions 

select_shape(ConnectedRegions,SelectedRegions,'

area'

and'

10,1000) 

*设置当期图像窗口的图像对象为Image 

*设置当期图像窗口的图像对象为SelectedRegions 

dev_display(SelectedRegions) 

visualizefractionedscratch可视化划分划痕 

*打开窗口设置局部 

open_zoom_window(0,round(Width/2),2,303,137,496,3,WindowHandleZoom) 

*设置输出颜色为蓝色 

dev_set_color('

blue'

mergefractionedscratchesviamorphology通过形态学合并划痕 

*合并SelectedRegions的并集到RegionUnion 

union1(SelectedRegions,RegionUnion) 

*以3.5作为圆形区域扩张的半径,对RegionUnion扩张得到RegionDilation 

dilation_circle(RegionUnion,RegionDilation,3.5) 

dev_display(RegionDilation) 

*由RegionDilation获取骨架给Skeleton 

skeleton(RegionDilation,Skeleton) 

*通过8邻接或四邻接方法将骨架链接后传给Errors 

connection(Skeleton,Errors) 

dev_display(Errors) 

distinguishsmallandlargescratches区分大小划痕 

*关闭窗口 

close_zoom_window(WindowHandleZoom,Width,Height) 

*选择面积大于50小于1000的区域到Scratches 

select_shape(Errors,Scratches,'

50,10000) 

*选择面积大于1小于50的区域到Dots 

select_shape(Errors,Dots,'

1,50) 

red'

dev_display(Scratches) 

dev_display(Dots) 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2