小哥哥小姐姐觉得有用点个赞呗!

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

示例程序源码(加注释)

  • 关于显示类函数解释
    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’)
  • 返回区域位置
    get_region_contour (Vessel, VesselRows, VesselColumns)
  • 生成一个用点表示的区域
    gen_region_points (VesselBoundary, VesselRows, VesselColumns)
    dev_display (Image)
  • 实用矩形剪切区域
    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
* 生成一个由线表示的区域gen_region_line (ScanLine, UpperRow, i, LowerRow, i)dev_display (ScanLine)* 求交集intersection (Boundaries, ScanLine, BoundaryPoints)* 访问区域的像素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纹理过滤器过滤图像,使用二进制阈值分割图像。

后记
大家有什么问题可以向我提问哈,我看到了第一时间回复,希望在学习的路上多多结交良师益友。

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

  1. HALCON示例程序measure_grid.hdev使用XLD分割键盘轮廓

    HALCON示例程序measure_grid.hdev使用XLD分割键盘轮廓 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () read_image (Image, 'k ...

  2. HALCON示例程序measure_pump.hdev螺纹孔位置与尺寸测量

    HALCON示例程序measure_pump.hdev螺纹孔位置与尺寸测量 示例程序源码(加注释) 关于显示类函数解释 dev_update_var ('off') dev_update_off () ...

  3. HALCON示例程序stamp_catalogue.hdev分割图片与文字

    小哥哥小姐姐觉得有用点个赞呗! HALCON示例程序stamp_catalogue.hdev分割图片与文字 示例程序源码(加注释) 关于显示类函数解释 gen_rectangle1 (Rect, 0, ...

  4. HALCON示例程序optical_flow.hdev如何使用optical_flow_mg计算图像序列中的光流以及如何分割光流。

    HALCON示例程序optical_flow.hdev如何使用optical_flow_mg计算图像序列中的光流以及如何分割光流. 示例程序源码(加注释) 关于显示类函数解释 dev_update_o ...

  5. HALCON示例程序max_connection.hdev确定分割区域的最大区域数目

    HALCON示例程序max_connection.hdev确定分割区域的最大区域数目 示例程序源码(加注释) read_image (Image, 'monkey') get_system ('max ...

  6. HALCON示例程序count_pellets.hdev分割豆子,基本形态学的使用

    HALCON示例程序count_pellets.hdev分割豆子,基本形态学的使用 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () read_image (Image, ...

  7. HALCON示例程序connection.hdev分割连通域

    HALCON示例程序connection.hdev分割连通域 示例程序源码(加注释) read_image (Image, 'mreut') 二值化 threshold (Image, Region, ...

  8. HALCON示例程序classify_image_class_mlp.hdev如何使用MLP分类器分割RGB图像

    HALCON示例程序classify_image_class_mlp.hdev如何使用MLP分类器分割RGB图像 示例程序源码(加注释) 关于显示相关显示在其他帖子有介绍. dev_update_of ...

  9. HALCON示例程序classify_image_class_knn.hdev使用KNN分类器对多通道图像进行分割

    HALCON示例程序classify_image_class_knn.hdev使用KNN分类器对多通道图像进行分割 示例程序源码(加注释) 显示相关设置 dev_update_off () dev_c ...

最新文章

  1. 全网仅此一篇:工业级压力传感器设计及实现(华大半导体HC32L136)
  2. java开发中用矩阵图吗_Java中的矩阵使用
  3. jittor和pytorch生成网络对比之gan
  4. C++容器map可以排序吗?
  5. 2.2 进阶-禁忌雷炎
  6. vue 倒计时 插件_vue中实现倒计时组件与毫秒效果
  7. 第二阶段_第三小节_C#基础
  8. 手机移动防卫盾安全需求分析文档
  9. python扫描字符串文本时下线_python:SyntaxError:扫描字符串li时的EOL
  10. 地球上最神奇的10种物质,打赌你都没见过!
  11. oracle 数字类型行转列,oracle行转列
  12. wordpress迁移后,伪静态404解决方法
  13. 敏捷开发一千零一问系列之十四:敏捷开发加班吗?
  14. DeDe调用指定栏目ID下的文章
  15. Android如何谷歌搜索,android – 如何从谷歌地方检索搜索建议?
  16. 社交网络分析工具NetworkX和Gephi
  17. 学习沟通技巧--- SOFTEN法则与SOLER法则
  18. Python量化交易平台:JQData | API使用文档(转)
  19. 【CVPR2020】Designing Network Design Spaces
  20. [Linux]-堡垒机/跳板机作用、登陆异常处理

热门文章

  1. 初学java之常用组件
  2. [文摘]上软解散相关
  3. 使用javasript 遍历页面CheckBox
  4. java面向对象:异常处理 —(18)
  5. 操作系统原理之I/O设备管理(第六章下半部分)
  6. d3.js 入门指南 - 仪表盘
  7. 21、python基础学习-new_three_menu
  8. 【域控管理】父域的搭建
  9. HDU - 1723 - Distribute Message
  10. 您请求的报表需要更多信息...