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

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

示例程序源码(加注释)

  • 关于显示类函数解释
    dev_update_pc (‘off’)
    dev_update_window (‘off’)
    dev_update_var (‘off’)
    read_image (Image, ‘die_pads’)
    dev_close_window ()
    get_image_size (Image, Width, Height)
    dev_open_window (0, 0, Width * 2, Height * 2, ‘black’, WindowHandle)
    dev_set_part (0, 0, Height - 1, Width - 1)
  • fast_threshold - 使用全局阈值快速阈值处理图像。
  • fast_threshold(图片:区域:最小灰度值,最大灰度值,最小阈值分割值:)
    fast_threshold (Image, Region, 180, 255, 20)
  • 分割连通域
    connection (Region, ConnectedRegions)
  • 使面积与长短轴比值筛选区域
    select_shape (ConnectedRegions, SelectedRegions, [‘area’,‘anisometry’], ‘and’, [200,1], [1200,2])
    fill_up (SelectedRegions, RegionFillUp)
  • 求取最大边界
    shape_trans (RegionFillUp, RegionTrans, ‘convex’)
  • boundary - 将区域缩小到其边界。
  • boundary(区域:区域边界:边界种类 ?
    boundary (RegionTrans, RegionBorder, ‘inner’)
  • 使用圆形元素对区域进行膨胀
    dilation_circle (RegionBorder, RegionDilation, 2.5)
    union1 (RegionDilation, RegionUnion)
  • 减少图片定义域
    reduce_domain (Image, RegionUnion, ImageReduced)
  • 求取边界
    edges_sub_pix (ImageReduced, Edges, ‘sobel_fast’, 0.5, 20, 40)
  • 使用长度筛选边界
    select_shape_xld (Edges, SelectedContours, ‘contlength’, ‘and’, 10, 200)
  • union_adjacent_contours_xld - 计算端点靠近的轮廓的并集。
  • union_adjacent_contours_xld(边缘:合并边缘:最大绝对距离,最大长度相对距离,模式:)
    union_adjacent_contours_xld (SelectedContours, UnionContours, 2, 1, ‘attr_keep’)
  • fit_rectangle2_contour_xld - 拟合XLD轮廓为矩形。
    fit_rectangle2_contour_xld (UnionContours, ‘tukey’, -1, 0, 0, 3, 2, Row, Column, Phi, Length1, Length2, PointOrder)
  • gen_rectangle2_contour_xld - 创建矩形形状的XLD轮廓。
    gen_rectangle2_contour_xld (Rectangle, Row, Column, Phi, Length1, Length2)
    dev_display (Image)
    dev_set_colored (12)
    dev_display (Rectangle)

处理思路

这个例子是主要讲解了如何利用边缘提取与矩形拟合进行精确定位。使用了fast_threshold进行阈值分割,boundary并dilation_circle得到边界图像,使用edges_sub_pix进行边缘提取,select_shape_xld筛选边界,fit_rectangle2_contour_xld边界矩形拟合,gen_rectangle2_contour_xld绘制边缘轮廓。

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

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

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

相关文章

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

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

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

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

找bug

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

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

HALCON示例程序forest.hdev识别森林中的树 示例程序源码(加注释) 关于显示类函数解释 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其实属于优化方案,由于带宽限制,应该尽量map和reduce之间的数据传输数量。它在Map端把同一个key的键值对合并在一起并计算,计算规则与reduce一致,所以combiner也可以看作特殊的Reducer。 执行combiner操…

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

接下来添加攻击按钮用于执行攻击动作。同时修复了上一版移动时的bug。修复后的Player::walkTo()函数: 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常用验证规则

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

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

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

Machine Vision Pixel Calibration~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Artificial Intelligence and Robotics Research人工智能与机器人研究, 2014, 3, 25-33Published Online May 2014 in Hans. http://www.hanspub.org/journal/airrhttp://dx.doi.org/10.12677/airr.2014.32005

Ceph分布式存储系统-性能测试与优化

测试环境 部署方案:整个Ceph Cluster使用4台ECS,均在同一VPC中,结构如图: 以下是 Ceph 的测试环境,说明如下: Ceph 采用 10.2.10 版本,安装于 CentOS 7.4 版本中;系统为初始安装&…

mysql考试总结

USE school; -- 班级表 CREATE TABLE class(cid TINYINT PRIMARY KEY AUTO_INCREMENT,caption VARCHAR(20) );INSERT INTO class(caption) VALUES("三年二班"),("一年三班"),("三年一班");SELECT * FROM class;-- 老师表 CREATE TABLE teacher(t…

反思

1.说明一下ArrayList和数组的区别,并且分别写出初始化的语句: ArrayList:可以放不同的类型,长度不固定 数组:放同一类型,长度固定 数组的初始化语句:int []anew int []{}; ArrayList初始化语句:…

HALCON示例程序high.hdev使用不同方法提取区域

HALCON示例程序high.hdev使用不同方法提取区域 示例程序源码(加注释) 关于显示类函数解释 dev_close_window () read_image (Mreut, ‘mreut_y’) get_image_size (Mreut, Width, Height) dev_open_window (0, 0, Width, Height, ‘black’, WindowHan…

阅读好书依然是提升自己的高效方法:兼以作者的身份告诉大家如何选择书,以及高效学习的方法...

国内技术网站多如牛毛,质量高的网站也不少,博客园也算一个,各类文章数以百万计,我随便输入一个关键字,比如Spring Cloud,都能看到大量的技术文章和教学视频,我无意贬低技术文章和教学视频的作用…

TCP/IP 协议簇的逐层封装

在使用 TCP 协议的网络程序中,用户数据从产生到从网卡发出去一般要经过如下的逐层封装过程: 从下往上看: 1)链路层通过加固定长度的首部、尾部来封装 IP 数据报(Datagram) 产生以太网帧(Frame)。 其中首部存在对封装数据的…

【开源程序(C++)】获取bing图片并自动设置为电脑桌面背景

众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸。 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜…

UIProgressView 圆角

里面外面都变成圆角 不用图片 直接改变layer 重点是里面外面都是圆角哦 for (UIImageView * imageview in self.progress.subviews) { imageview.layer.cornerRadius 5; imageview.clipsToBounds YES; } 转载于:https://www.cnblogs.com/huoran1120/p/5563991.html

HALCON示例程序holes.hdev孔洞提取

HALCON示例程序holes.hdev孔洞提取 示例程序源码(加注释) 关于显示类函数解释 read_image (Image, ‘progres’) get_image_size (Image, Width, Height) dev_close_window () dev_open_window (0, 0, Width, Height, ‘white’, WindowID) dev_set_co…

给实例动态增加方法VS给类动态增加方法

一、给实例绑定方法 object.method MethodType(method,object) >>>class Badbrains(): pass >>>def mocking(self): print(Brain\s Mocking) >>>b Badbrains() >>>from types import MethodType >>>b.mocking MethodType(moc…

一句DOS命令搞定文件合并

用Dos的copy命令实现: copy a.jsb.jsc.js abc.js /b 将 a.js b.js c.js 合并为一个 abc.js,最后的 /b 表示文件为二进位文件,copy 命令的其它参数可以在 cmd 里输入 copy /? 学习 举例:如果想要合并多个js文件到某个目录下&#…