法兰识别定位,本以为很简单,没想到超出我的认知。

我曾在《机器人系统集成及自动化生产线设计大师》教材里介绍过HALCON视觉软件识别工件的方法,没想到此方法识别法兰时失效了。
- read_image(),图片读取函数;
- rgbl_gray(),灰度处理函数,将彩色图片变成黑白图片,化繁为简;
- threshold(),二值化阈值函数,黑白分界处即是工件轮廓;
- connection(),计算整个图像范围内有多少个连通区域,即获取图片上含有的所有工件;
- select_shape(),获取工件轮廓特征;
- orientation_region (),获取工件朝向,也就是工件的角度;7. area_center (),获取工件中心位置。
由于法兰和背后的管道都是不锈钢材质,颜色几乎一模一样,特征不明显,使用threshold()和select_shape()都无法筛选出想要的区域。

没办法,只能另辟蹊径,连续看了2天HALCON示例程序,终于在cbm_sbm.hdev这个示例程序中发现了find_component_model()函数,find_component_model 函数的功能是在图像里寻找最匹配的元件模型(Find the best matches of a component model in an image)。
有了 find_component_model (),法兰识别立马变得无比简单。

下面是利用find_component_model ()识别法兰位置的HALCON程序代码:
* 读取参照物图像
read_image (ModelImage, ” images/tanker01.jpg”)
dev_open_window_fit_image (ModelImage, 0, 0, -1, -1, WindowHandle)
dev_display (ModelImage)
dev_set_line_width (4)
dev_set_color (”green”)
dev_set_draw (”margin”)
gen_circle (ComponentRegions, 475, 208, 102)
* 创建组件模型(标准参考物)
create_component_model (ModelImage, ComponentRegions, 20, 20, rad(25), 0, rad(360), 15, 40, 15, 10, 0.8, ”auto”, 0, ”none”, ”use_polarity”, ”true”, ComponentModelID, RootRanking)
read_image (SearchImage, ”images/tanker_02.jpg”)
* 查找与标准参考物匹配的模型组件
find_component_model (SearchImage, ComponentModelID, RootRanking, 0, rad(360), 0.5, 0, 0.5, ”stop_search”, ”search_from_best”, ”none”, 0.8, ”interpolation”, 0, 0.8, ModelStart, ModelEnd, Score, RowComp, ColumnComp, AngleComp, ScoreComp, ModelComp)
dev_display (SearchImage)
* 显示模型组件
for Match := 0 to |ModelStart| - 1 by 1
dev_set_line_width (1)
get_found_component_model (FoundComponents, ComponentModelID, ModelStart, ModelEnd, RowComp, ColumnComp, AngleComp, ScoreComp, ModelComp, Match, ”false”, RowCompInst, ColumnCompInst, AngleCompInst, ScoreCompInst)
*计算组件模型的面积、中心点坐标
area_center (FoundComponents, Area, Row, Column)
gen_circle (Circle, Row, Column, 40)
disp_cross (WindowHandle, Row, Column, 60, AngleCompInst)
*显示组件模型的中心点坐标
disp_message (WindowHandle, ”x=”+Column+” y=”+Row, ”window”, Row/2-60, Column/2-30, ”black”, ”true”)
endfor
HALCON代码导出成C、C#、C++或VE.NET程序代码就可以在电脑上运行了,是不是很简单?
绝大多数的视觉应用其实都不难,无非就是识别个工件而已,学些视觉技术,只要入门,基本上就能满足基本的工作需要了,就像我我们学计算机语音一样,只要能输出“hello world!”,就算入门了。
转载请注明:
文章作者: 尚延伟 原文链接:https://www.cad2d3d.com/post-2034.html
可能感兴趣的文章
超常规设计之雾气分离器,机械工程师才是最聪明的一帮人- AI 时代,我已分不清真伪,纯真质朴离我们越来越远
大跌眼镜!机器人居然走不了直线!FANUC M-710iC/50 机器人圆形轨迹精度 0.525mm- 直接封神!公司OA服务器空间高达 10 亿兆,这硬盘值多少钱啊?
离心泵可以空转吗?看过美标 API 682 之后才恍然大悟!原来网上的信息都是错的!- 旋塞阀(Plug Valve)内部结构详解
- 钢材牌号和统一数字代号之间的对应关系,304、304L、316、316L是什么材质?
- 方案大师:2 自动化生产线的世界,主要参数、节拍计算、平衡率
圆柱销有2个标准GB/T119.1和GB/T119.2,材料和热处理不同,选用时还要注意销孔配合关系,推荐选用H7/m6- 机加工后工件再次焊接预防变形的方法—水冷
更多最新发布: 工业相机视觉系统
-
视觉应用案例!采用HALCON组件模型匹配算法识别槽车法兰位置
-
FANUC iRVision 视觉学习——相机校准、视觉数据、用户坐标系和工具坐标系
-
发那科机器人(FANUC)视觉(iRVision)操作说明书pdf免费下载,详细介绍如何利用视觉实现机器人自动抓取工件
-
3D视觉专用名词概念解释,深度图、点云图、IR图、RGB图像
-
发那科FANUC机器人视觉软件 iRVision 使用方法和步骤详述,相机设置、标定方法、视觉处理工具等各项参数含义解释
-
工业相机视觉系统学习—彩色相机的效果和预处理
-
三维视觉系统(3D视觉)的重复精度(±3σ)是什么意思,重复定位精度是如何计算出来的?
-
高温热态尺寸在线测量,3D视觉识别建模,锻造工件尺寸自动测量

气动电磁阀4V210-08二位五通电子换向气阀24V气缸控制阀线圈220V
德力西电磁阀4v210-08换向阀24V气动控制阀220v二位五通电子阀12V
4V210-08气动电磁阀4V110-06气缸换向气阀220V控制阀24v电子阀12V 

本站所有资源一键获取,含3D模型、设计软件和案例视频等
《工业机器人系统集成&自动化生产线方案设计大师》第2版免费送,机器人及自动化技术人员必备教材
LNG装卸臂智能化对接装置的研究与设计
气动控制阀手动操作机构内部构造,手动自动切换原理,含视频演示及免费三维模型
《装车橇设计大师》教材发布,压力元件组合装置设计,石油化工行业技术人员必备
LNG装车橇3D模型免费下载,SolidWorks源文件下载,STEP通用3D模型文件下载
AutoCAD 2025 免费版+注册机 安装程序免费下载,附下载地址及安装教程
SolidWorks 2024 SP2.0 免费版免费下载及安装教程
API干式阀3D模型免费下载,SolidWorks源文件,Stp通用格式
机械手 Z 轴行程放大机构3D模型 SolidWorks 源文件免费下载
谐波减速机 3D 模型 SolidWorks 源文件免费下载,含 stp 通用格式,结构看似简单,实则脑洞大开
发那科机器人 FANUC 离线编程 动画仿真模拟软件 ROBOGUIDE V9 免费下载
公差分析(WC、RSS、6Sigma)和公差分配(权重因子、最小成本)方法及计算表格下载