您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Halcon表面划伤检测实例
Halconhb$ÀK*sí;¨þbãdev_close_window()*(gL-úL::offdev_update_window('off')*step:acquireimagee¤·ÖþÏ*****ûeö:'surface_scratch'þÏ0Imageread_image(Image,'surface_scratch')get_image_size(Image,Width,Height)*S *Image½ØÔ ôþÏãdev_open_window_fit_image(Image,0,0,Width,Width,WindowID)*¾nãWS':12WS{:CourierSWSset_display_font(WindowID,12,'Courier','true','false')*¾nkE!:'margin'dev_set_draw('margin')*IúnÓ¿½:4dev_set_line_width(4)*:Image0ãdev_display(Image)*WindowIDã(ÑrWS( *¹F : F5çíÐLWSvèF5odisp_continue_message(WindowID,'black','true')stop()*step:segmentimagee¤þÏr*-usingalocalthreshold(@è*ùImageÛL7*7Gäâmean_image(Image,ImageMean,7,7)*0þÏ:***(GäâþÏ\:þÏÔÞp¦å¹-5þÏdyn_threshold(Image,ImageMean,DarkPixels,5,'dark')*******************************************0:ß:*-extractconnectedcomponentsÐÖÞÏ*1rúeDarkPixels·Þ:ß0ConnectedRegions*******0Þ:ß:connection(DarkPixels,ConnectedRegions)*¾n÷úr:12Ídev_set_colored(12)*:SMþbã-þÏùadev_display(ConnectedRegions)disp_continue_message(WindowID,'black','true')stop()*step:processregions:ß*-selectlargeregions Ö':ß*ÎConnectedRegions-0bï'101000:ß0SelectedRegionsselect_shape(ConnectedRegions,SelectedRegions,'area','and',10,1000)*¾nSþÏãþÏùa:Imagedev_display(Image)*¾nSþÏãþÏùa:SelectedRegionsdev_display(SelectedRegions)disp_continue_message(WindowID,'black','true')stop()*-visualizefractionedscratchïÆÕ*S ã¾n@èopen_zoom_window(0,round(Width/2),2,303,137,496,3,WindowHandleZoom)*¾núr:Ýrdev_set_color('blue')dev_display(Image)dev_display(SelectedRegions)disp_continue_message(WindowID,'black','true')stop()*-mergefractionedscratchesviamorphologyÇbfvÕ*vSelectedRegionsvÆ0RegionUnionunion1(SelectedRegions,RegionUnion)*å3.5\:b:ßiJùRegionUnioni0RegionDilationdilation_circle(RegionUnion,RegionDilation,3.5)dev_display(Image)dev_display(RegionDilation)disp_continue_message(WindowID,'black','true')stop()*1RegionDilation·Ö¨¶ÙSkeletonskeleton(RegionDilation,Skeleton)*Ç8»¥Û»¥¹Õ¨¶þ¥ÙErrorsconnection(Skeleton,Errors)dev_set_colored(12)dev_display(Image)dev_display(Errors)disp_continue_message(WindowID,'black','true')stop()*-distinguishsmallandlargescratches:'Õclose_zoom_window(WindowHandleZoom,Width,Height)* ébï'501000:ß0Scratchesselect_shape(Errors,Scratches,'area','and',50,10000)* ébï'150:ß0Dotsselect_shape(Errors,Dots,'area','and',1,50)dev_display(Image)dev_set_color('red')dev_display(Scratches)dev_set_color('blue')dev_display(Dots)Ù*é1((yî-uu b 1/$Õ
本文标题:Halcon表面划伤检测实例
链接地址:https://www.777doc.com/doc-3074612 .html