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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

HALCON示例程序vessel.hdev血管的分割与测量

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

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

HALCON示例程序vessel.hdev血管的分割與測量

示例程序源碼(加注釋)

  • 關(guān)于顯示類函數(shù)解釋
    dev_update_window (‘off’)
    dev_close_window ()
    dev_open_window (0, 0, 512, 512, ‘black’, WindowID)
    set_display_font (WindowID, 14, ‘mono’, ‘true’, ‘false’)
    read_image (Image, ‘vessel’)
    dev_display (Image)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
    dev_set_draw (‘fill’)
    dev_set_color (‘green’)
    dev_set_line_width (3)
  • 使用Laws紋理過濾器過濾圖像
    texture_laws (Image, Texture, ‘el’, 2, 5)
    dev_display (Texture)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
    mean_image (Texture, Energy, 211, 61)
    dev_display (Energy)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
    dev_display (Image)
  • 使用二進制閾值分割圖像
    binary_threshold (Energy, Vessel, ‘smooth_histo’, ‘dark’, UsedThreshold)
    dev_display (Vessel)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
    dev_set_draw (‘margin’)
  • 返回區(qū)域位置
    get_region_contour (Vessel, VesselRows, VesselColumns)
  • 生成一個用點表示的區(qū)域
    gen_region_points (VesselBoundary, VesselRows, VesselColumns)
    dev_display (Image)
  • 實用矩形剪切區(qū)域
    clip_region (VesselBoundary, Boundaries, 0, 2, 511, 509)
    dev_display (Boundaries)
  • 求最小外接矩形
    smallest_rectangle1 (Boundaries, UpperRow, Column1, LowerRow, Column2)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
    Diameter := []
    dev_set_color (‘red’)
    dev_update_var (‘off’)
    dev_update_time (‘off’)
    dev_update_pc (‘off’)
for i := 2 to 509 by 1 * 生成一個由線表示的區(qū)域gen_region_line (ScanLine, UpperRow, i, LowerRow, i)dev_display (ScanLine)* 求交集intersection (Boundaries, ScanLine, BoundaryPoints)* 訪問區(qū)域的像素get_region_points (BoundaryPoints, Rows, Columns)Diameter := [Diameter,abs(Rows[|Rows| - 1] - Rows[0])] endfor

dev_update_pc (‘on’)
dev_update_time (‘on’)
dev_update_var (‘on’)
Diameter := Diameter
meanDiameter := sum(Diameter) / |Diameter|
minDiameter := min(Diameter)
dev_set_color (‘green’)
dev_display (Image)
dev_display (Boundaries)
dev_set_color (‘yellow’)
get_image_size (Image, Width, Height)

  • 獲取字符串空間的大小
    get_string_extents (WindowID, 'meanDiam: ’ + meanDiameter + ', minDiameter: ’ + minDiameter, Ascent, Descent, TxtWidth, TxtHeight)
    disp_message (WindowID, 'meanDiam: ’ + meanDiameter + ', minDiameter: ’ + minDiameter, ‘image’, (UpperRow + LowerRow) / 2, (Width - TxtWidth) / 2, ‘yellow’, ‘false’)
    dev_set_draw (‘fill’)
    dev_set_line_width (1)
    dev_update_window (‘on’)

處理思路

這個例子是主要講解了血管的分割與測量。使用Laws紋理過濾器過濾圖像,使用二進制閾值分割圖像。

后記
大家有什么問題可以向我提問哈,我看到了第一時間回復(fù),希望在學(xué)習(xí)的路上多多結(jié)交良師益友。

總結(jié)

以上是生活随笔為你收集整理的HALCON示例程序vessel.hdev血管的分割与测量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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