日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HALCON示例程序surface_scratch.hdev提取划痕

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HALCON示例程序surface_scratch.hdev提取划痕 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小哥哥小姐姐覺得有用點個贊唄!

HALCON示例程序surface_scratch.hdev提取劃痕

示例程序源碼(加注釋)

  • 關于顯示類函數解釋
    dev_update_off ()
    dev_close_window ()
    read_image (Image, ‘surface_scratch’)
    get_image_size (Image, Width, Height)
    dev_open_window_fit_image (Image, 0, 0, Width, Width, WindowID)
    set_display_font (WindowID, 16, ‘mono’, ‘true’, ‘false’)
    dev_set_draw (‘margin’)
    dev_set_line_width (4)
    dev_display (Image)
    Message := ‘This program shows the extraction of’
    Message[1] := ‘surface scratches via local thresholding’
    Message[2] := ‘and morphological post-processing’
    disp_message (WindowID, Message, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
  • 使用動態閾值進行分割
    mean_image (Image, ImageMean, 7, 7)
    dyn_threshold (Image, ImageMean, DarkPixels, 5, ‘dark’)
  • 分割連通域
    connection (DarkPixels, ConnectedRegions)
    dev_set_colored (12)
    dev_display (Image)
    dev_display (ConnectedRegions)
    Message := ‘Connected components after image segmentation’
    Message[1] := ‘using a local threshold.’
    disp_message (WindowID, Message, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
  • 面積篩選
    select_shape (ConnectedRegions, SelectedRegions, ‘area’, ‘and’, 10, 1000)
    dev_display (Image)
    dev_display (SelectedRegions)
    disp_message (WindowID, ‘Large Regions’, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
    open_zoom_window (0, round(Width / 2), 2, 303, 137, 496, 3, WindowHandleZoom)
    dev_set_color (‘blue’)
    dev_display (Image)
    dev_display (SelectedRegions)
    set_display_font (WindowHandleZoom, 16, ‘mono’, ‘true’, ‘false’)
    disp_message (WindowHandleZoom, ‘Fractioned scratches’, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowHandleZoom, ‘black’, ‘true’)
    stop ()
  • 合并區域
    union1 (SelectedRegions, RegionUnion)
  • 膨脹區域
    dilation_circle (RegionUnion, RegionDilation, 3.5)
    dev_display (Image)
    dev_display (RegionDilation)
    Message := ‘Region of the scratches after dilation’
    disp_message (WindowHandleZoom, Message, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowHandleZoom, ‘black’, ‘true’)
    stop ()
  • 提取區域骨架
    skeleton (RegionDilation, Skeleton)
    connection (Skeleton, Errors)
    dev_set_colored (12)
    dev_display (Image)
    dev_display (Errors)
    Message := ‘Fractioned scratches merged via morphology’
    disp_message (WindowHandleZoom, Message, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowHandleZoom, ‘black’, ‘true’)
    stop ()
    close_zoom_window (WindowHandleZoom, Width, Height)
    select_shape (Errors, Scratches, ‘area’, ‘and’, 50, 10000)
    select_shape (Errors, Dots, ‘area’, ‘and’, 1, 50)
    dev_display (Image)
    dev_set_color (‘red’)
    dev_display (Scratches)
    dev_set_color (‘blue’)
    dev_display (Dots)
    Message := ‘Extracted surface scratches’
    Message[1] := ‘Not categorized as scratches’
    disp_message (WindowID, Message, ‘window’, 440, 310, [‘red’,‘blue’], ‘true’)

處理思路

這個例子是主要講解了金屬劃痕提取。

后記

大家有什么問題可以向我提問哈,我看到了第一時間回復,希望在學習的路上多多結交良師益友。

總結

以上是生活随笔為你收集整理的HALCON示例程序surface_scratch.hdev提取划痕的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。