HALCON示例程序edge_segments.hdev提取连续的边缘段

HALCON示例程序edge_segments.hdev提取连续的边缘段

示例程序源码(加注释)

  • 关于显示类函数解释
    dev_update_off ()
    dev_close_window ()
    read_image (Image, ‘mreut’)
    get_image_size (Image, Width, Height)
    dev_open_window_fit_image (Image, 0, 0, Width, Height, WindowID)
    set_display_font (WindowID, 12, ‘mono’, ‘true’, ‘false’)
    dev_set_draw (‘margin’)
    dev_set_line_width (3)
    dev_display (Image)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()

  • edges_image - 使用Deriche,Lanser,Shen或Canny过滤器提取边缘。

  • edges_image(图片:边缘幅度,边缘方向:滤波器,高斯标准差,最大抑制,滞后阈值低值,滞后阈值高值 ?
    edges_image (Image, ImaAmp, ImaDir, ‘lanser2’, 0.5, ‘nms’, 20, 40)
    dev_display (ImaAmp)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()

  • 二值化提取边缘
    threshold (ImaAmp, Region, 1, 255)

  • 分割连通域
    connection (Region, ConnectedRegions)
    dev_clear_window ()
    dev_set_colored (12)
    dev_display (ConnectedRegions)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
    dev_clear_window ()
    count_obj (ConnectedRegions, Number)

  • 生成一个空的对象
    gen_empty_obj (XLDContours)
    for i := 1 to Number by 1

    • 选取指定图像
      select_obj (ConnectedRegions, SingleEdgeObject, i)
    • split_skeleton_lines - 根据线的曲率分割线段
    • split_skeleton_lines(边缘 :: 线的最大距离:起点行坐标,起点列坐标,终点行坐标,终点列坐标)
      split_skeleton_lines (SingleEdgeObject, 2, BeginRow, BeginCol, EndRow, EndCol)
      for k := 0 to |BeginRow| - 1 by 1
      • 这个是根据多个线段生成多边形
        gen_contour_polygon_xld (Contour, [BeginRow[k],EndRow[k]], [BeginCol[k],EndCol[k]])
        concat_obj (XLDContours, Contour, XLDContours)

    endfor
    endfor
    dev_display (XLDContours)

处理思路

这个例子是主要讲解了边缘的提取与分割。edges_image、split_skeleton_lines 、gen_contour_polygon_xld

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让 jQuery UI draggable 适配移动端

背景: 在移动端,本人要实现对某个元素的拖动,想到使用 jQuery UI 的 draggable 功能。但是发现此插件的拖动只支持PC端,不支持移动端。 原因: 原始的 jQuery UI 里,都是mousedown、mousemove、mouseup来描述…

LAMP(7限定某个目录禁止解析php、 限制user_agent、 PHP相关配置、PHP扩展模块

限定某个目录禁止解析php防止***上传一个目录文件php&#xff0c;网站会从而解析php,对我们的网站有很大的危险。因此&#xff0c;我们需要在能上传文件的目录直接禁止解析PHP代码禁止步骤1.编辑虚拟主机配置文件&#xff1a;增添内容核心配置文件内容<Directory /data/wwwr…

编译器的功能是什么

1、编译器就是将“一种语言&#xff08;通常为高级语言&#xff09;”翻译为“另一种语言&#xff08;通常为低级语言&#xff09;”的程序。一个现代编译器的主要工作流程&#xff1a;源代码 (source code) → 预处理器(preprocessor) → 编译器 (compiler) → 目标代码 (obje…

八、走向三维

八、走向三维 我们前面花了七篇博文做铺垫&#xff0c;我们所做的一切努力都是为了最后的这一击——立体成像。因为玉米的这个系列文章是对双目视觉几何框架的总结。此处跳过匹配&#xff0c;假设左右图像点的完美匹配的。只看在几何上&#xff0c;三维坐标是如何被还原的。相对…

通用连接池项目开启

通用连接池项目开启 待完善......转载于:https://www.cnblogs.com/aresyl/p/5552092.html

HALCON示例程序fin.hdev通过形态学检测缺陷

HALCON示例程序fin.hdev通过形态学检测缺陷 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_window (‘off’) read_image (Fins, ‘fin’ [1:3]) get_image_size (Fins, Width, Height) dev_close_window () dev_open_window (0, 0, Width[0],…

FEZ前端模块化工程开发框架

FEZ FEZ 是面向前端模块化工程的开发框架。主要目的是统一前端开发模式和项目开发结构&#xff0c;自动化前端工作流&#xff0c;提高开发效率和开发质量。使用持续集成等软件工程的架构模式&#xff0c;集成众多业界先进的解决方案&#xff0c;让研发人员更专注于业务逻辑的实…

栈内存和堆内存

堆和栈这两个字我们已经接触多很多次&#xff0c;那么具体是什么存在栈中什么存在堆中呢&#xff1f;就拿JavaScript中的变量来说&#xff1a; 首先JavaScript中的变量分为基本类型和引用类型。 基本类型就是保存在栈内存中的简单数据段&#xff0c;而引用类型指的是那些保存在…

L~M方法

L~M方法&#xff1a; L~M&#xff08;Levenberg-Marquardt&#xff09;方法有些让人摸不清头脑。玉米觉得L~M让人困扰的主要原因有两点&#xff1a;一是L~M从何而来、二是L~M怎么样用&#xff1f;因为玉米也不是研究最优化理论的&#xff0c;所以玉米在这里用较为通俗的观点&a…

Android——Activity去除标题栏和状态栏

一、在代码中设置 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //去除title requestWindowFeature(Window.FEATURE_NO_TITLE); //去掉Activity上面的状态栏getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSC…

Ghosts for Tea

Ghosts for Tea 喝茶&#xff1f;闹鬼&#xff1f; Ten pence for a view over the bay . said the old man with the telescope. Lovely clearmorning. Have a look at the old lighthouse and the remains of the great shipwreckof 1935. “在如此可爱清爽的早晨&#xff0…

HALCON示例程序find_pads.hdev通过fit_rectangle2_contour_xld绘制精准轮廓

HALCON示例程序find_pads.hdev通过fit_rectangle2_contour_xld绘制精准轮廓 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_pc (‘off’) dev_update_window (‘off’) dev_update_var (‘off’) read_image (Image, ‘die_pads’) dev_close_w…

IDEA将项目上传至码云/GitHub托管

前言 好久都没有写博客了&#xff0c;由于博主之前一直都在上班处于加班的阶段&#xff0c;所以根本就没有时间去学习。现在请假回到学校写论文&#xff0c;有时间来学习了。 所以会不断的进行博客的更新&#xff0c;以及分享我在公司学到的一些新的技术&#xff0c;希望大家多…

BZOJ 1937: [Shoi2004]Mst 最小生成树 [二分图最大权匹配]

传送门 题意&#xff1a; 给一张无向图和一棵生成树&#xff0c;改变一些边的权值使生成树为最小生成树&#xff0c;代价为改变权值和的绝对值&#xff0c;求最小代价 线性规划的形式&#xff1a; $Min\quad \sum\limits_{i1}^{m} \delta_i$ $Sat\quad $非树边边权$\ge$生成树上…

找bug

1.在输入数据按保存键后不知道数据是否已经存入数据库。 修改&#xff1a;增加一个对数据库的监听事件来监听数据库是否发生变化。 2.空数据也能保存成功。 修改&#xff1a;增加一个监听事件来检测是否输入数据。 3.在输入框中输入不否和输入框对数据的要求&#xff0c;但不提…

HALCON示例程序forest.hdev识别森林中的树

HALCON示例程序forest.hdev识别森林中的树 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_close_window () dev_update_window (‘off’) read_image (Forest, ‘forest_air1’) get_image_size (Forest, Width, Height) dev_open_window (0, 0, Width…

Hadoop学习之路(十八)MapReduce框架Combiner分区

对combiner的理解 combiner其实属于优化方案&#xff0c;由于带宽限制&#xff0c;应该尽量map和reduce之间的数据传输数量。它在Map端把同一个key的键值对合并在一起并计算&#xff0c;计算规则与reduce一致&#xff0c;所以combiner也可以看作特殊的Reducer。 执行combiner操…

cocos2dx游戏--欢欢英雄传说--添加攻击按钮

接下来添加攻击按钮用于执行攻击动作。同时修复了上一版移动时的bug。修复后的Player::walkTo()函数&#xff1a; void Player::walkTo(Vec2 dest) {if (_seq)this->stopAction(_seq);auto curPos this->getPosition();if (curPos.x > dest.x)this->setFlippedX(t…

Yii2.0 rules常用验证规则

设置一个修改方法&#xff0c;但是save&#xff08;&#xff09;&#xff0c;没有成功&#xff0c;数据修改失败&#xff0c;查了好久&#xff0c;一般情况就是不符合rules规则&#xff0c;而我没有设置rules规则&#xff0c;重新设置了一个不能为空&#xff0c;然后就修改成功…

HALCON示例程序gray_features.hdev提取灰度图的不同特征(area_center_gray 、elliptic_axis_gray)

HALCON示例程序gray_features.hdev提取灰度图的不同特征&#xff08;area_center_gray 、elliptic_axis_gray&#xff09; 示例程序源码&#xff08;加注释&#xff09; 读入图片 read_image (Image, ‘monkey’)二值化 threshold (Image, Region, 128, 255)分割连通域 conne…