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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

HALCON示例程序distance_transform.hdev通过distance_transform检测线的缺陷

發(fā)布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HALCON示例程序distance_transform.hdev通过distance_transform检测线的缺陷 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

HALCON示例程序distance_transform.hdev通過distance_transform檢測線的缺陷

示例程序源碼(加注釋)

  • 關于顯示類函數(shù)解釋
    dev_close_window ()
    dev_open_window (0, 0, 400, 400, ‘black’, WindowHandle)
  • 通過一系列的坐標點生成多邊形像素輪廓
    gen_region_polygon (Line1, [300,300,200,0], [0,200,300,300])
    gen_region_polygon (Line2, [350,350,250,0], [0,250,350,350])
  • 合并兩個輪廓
    union2 (Line1, Line2, Lines)
  • 使用圓形元素對區(qū)域進行膨脹
    dilation_circle (Lines, ThickLines, 7.5)
  • 生成圓形
    gen_circle (Error1, 120, 347, 7.5)
    gen_circle (Error2, 90, 287, 7.5)
    gen_circle (Error3, 302, 202, 7.5)
    gen_circle (Error4, 242, 337, 7.5)
    gen_circle (Error5, 346, 248, 7.5)
    gen_circle (Error6, 204, 312, 7.5)
  • 合并生成的圓形區(qū)域
    union2 (Error1, Error3, Errors1)
    union2 (Errors1, Error5, ErrorsAdd)
    union2 (Error2, Error4, Errors2)
    union2 (Errors2, Error6, ErrorsRem)
    union2 (ThickLines, ErrorsAdd, ThichLinesAdd)
    union2 (ThickLines, ErrorsAdd, ThichLinesAdd)
  • 求兩個區(qū)域不相交的區(qū)域
    difference (ThichLinesAdd, ErrorsRem, ThickLinesError)
  • distance_transform - 計算區(qū)域的距離變換;每個像素點到邊界的距離。
  • distance_transform(區(qū)域:距離圖像:方式,是否區(qū)域內所有點,寬度,高度:)
    distance_transform (ThickLines, LinesDistance, ‘chamfer-3-4’, ‘true’, 400, 400)
  • 提取區(qū)域的骨架
    skeleton (ThickLines, Skeleton)
  • 減少定義域
    reduce_domain (LinesDistance, Skeleton, LinesDistanceReduced)
  • 二值化
    threshold (LinesDistanceReduced, NoErrors, [0,9], [6,20])
  • 計算每個像素點到邊界的距離
    distance_transform (ThickLinesError, LinesDistanceError, ‘chamfer-3-4’, ‘true’, 400, 400)
    skeleton (ThickLinesError, SkeletonError)
    reduce_domain (LinesDistanceError, SkeletonError, LinesDistanceErrorReduced)
    threshold (LinesDistanceErrorReduced, Errors, [0,9], [6,20])
    dilation_circle (Errors, ErrorsDilation, 5.5)
    connection (ErrorsDilation, ConnectedRegions)
    area_center (ConnectedRegions, Area, Row, Column)
    dev_clear_window ()
    dev_set_draw (‘fill’)
    dev_set_color (‘gray’)
    dev_display (ThickLinesError)
    dev_set_draw (‘margin’)
    dev_set_color (‘red’)
    dev_set_line_width (3)
    disp_circle (WindowHandle, Row, Column, gen_tuple_const(|Row|,15.5))
    dev_set_draw (‘fill’)

處理思路

這個例子是主要講解了distance_transform算子的應用。

后記

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

總結

以上是生活随笔為你收集整理的HALCON示例程序distance_transform.hdev通过distance_transform检测线的缺陷的全部內容,希望文章能夠幫你解決所遇到的問題。

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