文档库 最新最全的文档下载
当前位置:文档库 › C++下halcon配置

C++下halcon配置

C++下halcon配置

1.新建一个C++工程,这里命名为Hello

2.将安装程序HDevelop下的文件夹“bin”、“include”、“lib”全都拷贝到C++工程的Hello.sln 所在的同一文件夹下。

3.配置C++工程的“配置属性”的“VC++目录”,“包含目录”为“..\include\cpp”。“库目录”为“..\include”。

4.“链接器”下的“输入”的“附加依赖项”添加“halconcpp.lib”

5.将“halcon.dll”和“halconcpp.dll”以及“license.dat”文件,拷贝到C++工程的“Dedug”文件夹下。

6.移植到另一台机器中的时候,要在另一台机器路径C:\Program Files\MVTec\Halcon\下加入本台机器安装的HDevelop的help文件夹。

例如:我的机器C:\Program Files\MVTec\HALCON-10.0\help

我在另一台机器下也按着这个路径建立相同文件夹的名字,把我的机器C:\Program Files\MVTec\HALCON-10.0\help下的所以文件拷贝到另一台机器中。

7.配置完成,运行。。。。。

halcon知识点

1. 无论读入什么图像,读入图像显示效果明显和原始图像不一致,哪怕是从相机读入的图像,也是明显颜色差异。什么原因引起? 初步诊断是,显示的时候调用的颜色查找表存在异常不是 default ,而是其它选项。此时可以通过查阅相关参数,调用set_system解决,也可以在编辑-》参数选择-》颜色查找表进行更改。 2. 裁剪图像;从图像上截取某段图像进行保存。如何实现该操作? 首先应该知道,region不具有单独构成图像的要素,他没有灰度值。有用过opencv的应该知道 ROI(感兴趣区域),设置好它后,对图像的大部分操作就转为图像的一个矩形区域内进行。类似的,halcon有domain 概念。首先设置好一个矩形区,然后使用 reduce_domain(是一个矩形区域)后,再使用crop_domain 就裁剪出图像。 3. 读入bmp,或tiff 图像显示该图不是bmp文件或不能读。原因是什么? 这个常有新手询问,画图,图像管理器都能打开,又或者是相机采集完直接存到硬盘。Halcon 读取图像在windows下面到最后是调用windows库函数实现读图功能。咱不清楚到底是怎么调用的。对于图像格式,在读图函数F1说明很细。基本 bmp 如果文件头不是bw还是bm(百度百科bmp格式查找,编写此处时无网络,后续可能忘记),就读不进来。其他规格欢迎补充。解决办法,如果是相机采集,就在内存直接转换(参见 halcon到VC.pdf 里面的halcon和bitmap互转);如果是采完的图片,大部分通过画图工具转换为 24位bmp格式,即可解决。 4.读入avi文件报错。

Halcon 通过 directshow或另一个格式解析视频,正常来说应该可以读入市面大部分视频,实际测试发现只能读入最标准的avi文件格式。如果需要临时处理,需要下格式工厂等工具转化为最标准的avi文件格式(论坛叶诺有发帖说明)。 5. Region 或 xld 筛选。 Halcon提供了丰富的region 和xld筛选方法。Region可以使用select_shape_xld,选择出符合要求的区域,如果不能满足还可以通过类似 region feature 这样关键字组合成的算子获取区域特征,然后通过 tuple 排序或相加减,再通过 tuple_find 确定是对应哪个区域的特征。同样的halcon也提供了 select_contours_xld 进行轮廓筛选。 6. Halcon分几类对象,每个类的功用是? Halcon总分俩大类,tuple和图标对象obj 。Tuple涵盖了对所有基础数据类型的封装,可以理解为她是halcon定义的数组类。Obj 是alcon定义图标类基类。衍生出了许多类型,其中 Region ,Xld,Image 其中最主要的类型。 7. F1说明,参数部分 -array 是什么意思? 该符号说明,该参数接受一组输入,对tuple就是一组tuple,对obj 就是通过concat_obj 或其它操作产生的一组obj元组。 8. 俩个相对方形物体的距离计算。 如果这俩个物体和背景对比清晰,最近的距离在俩条边下则可以再预处理之后进行如下操作:

HALCON形状匹配总结

HALCON形状匹配总结 Halcon有三种模板匹配方法:即Component-Based、Gray-Value-Based、Shaped_based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类 本文只对形状匹配做简要说明和补充: Shape_Based匹配方法: 上图介绍的是形状匹配做法的一般流程及模板制作的两种 方法。 先要补充点知识:形状匹配常见的有四种情况一般形状匹配模板shape_model、线性变形匹配模板 planar_deformable_model、局部可变形模板 local_deformable_model、和比例缩放模板Scale_model 第一种是不支持投影变形的模板匹配,但是速度是最高的,第二种和第四种是支持投影变形的匹配,第三种则是支持局部变形的匹配。 一般形状匹配模板是最常用的,模板的形状和大小一经制作完毕便不再改变,在查找模板的过程中,只会改变模板的方向和位置等来匹配目标图像中的图像。这个方法查找速度很快,但是当目标图像中与模板对应的图像存在比例放大缩小

或是投影变形如倾斜等,均会影响查找结果。涉及到的算子通常为create_shape_model 和find_shape_model 线性变形匹配模板planar_deformable_model是指模板在行列方向上可以进行适当的缩放。行列方向上可以分别独立的进行一个适当的缩放变形来匹配。主要参数有行列方向查找缩放比例、图像金字塔、行列方向匹配分数(指可接受的匹配分数,大于这个值就接受,小于它就舍弃)、设置超找的角度、已经超找结果后得到的位置和匹配分数 线性变形匹配又分为两种:带标定的可变形模板匹配和不带标定的可变形模板匹配。涉及到的算子有: 不带标定的模板:创建和查找模板算子 create_planar_uncalib_deformable_model和 find_planar_uncalib_deformable_model 带标定模板的匹配:先读入摄像机内参和外参 read_cam_par 和read_pose 创建和查找模板算子create_planar_calib_deformable_model和 find_planar_calib_deformable_model 局部变形模板是指在一张图上查找模板的时候,可以改变模板的尺寸,来查找图像上具有局部变形的模板。例如包装纸袋上图案查找。参数和线性变形额差不多 算子如下:create_local_deformable_model和 find_local_deformable_model

电磁门吸工作原理和安装方法

电磁门吸工作原理和安装方法 门吸是我们生活中一个非常不起眼的五金小配件,很多人会忽略这一个细节。今天要和大家来说说电磁门吸,这种门吸常常是和防火门一起使用,又被称为常开防火门电磁门吸。下面我们就来看看到底电磁门吸是什么以及电磁门吸的工作原理和安装方法。 什么是电磁门吸: 电磁门吸就是一种用于自动门的电磁铁,是采用电磁原理产生吸力的门体定位装置,又称为电子门吸。由于其机械结构简单、电磁原理可靠、低压微电流工作,因而其使用寿命可达几十年甚至上百年,与采用永磁铁的普通门吸手控特点不同,它需要提供直流DC24V才能工作,可以现场手控和远程电控,所以被广泛应用于建筑智能门控设施中,目前电磁门吸主要用于建筑物中的防火门,并且必须通过国家消防中心检测合格。 电磁门吸工作原理: 电磁门吸主要有磁铁主体(安装在墙上)、吸板(安装在门扇上)、安装底座或支架三部分组成,带有释放按钮和缓冲垫。电磁门吸的工作原理是由电流转化产生电磁力,吸附住安装固定在防火门背后的

吸板,牢牢地吸住大门,使大门不能关闭,保证消防通道畅通。比如,电磁门吸与防火门控制器组成的常开防火门释放装置,它具有使防火门平时保持常开,火灾时能自动关闭的功能,实现“断电关门”,平时可由市电供电,不占用有限的消防电源资源,不增加消防供电设备与回路成本,发生火灾时正好切断市电供电实现自动关闭,从而保证了平时消防通道的畅通性,火灾时,更好的实现防火门“隔烟阻火”的功效,从而保证了人员及财物的安全性。 电磁门吸分类: 电磁门吸根据不同的安装方式,可以分为墙式、地式、链式三类,地式电磁门吸由墙式电磁门吸和直角地面安装支架组成,链式电磁门吸由墙式电磁门吸和链条扣件组成。一般墙式门吸适用于门扇在最大开启角度时离墙面的距离很近的情况,地式电磁门吸则适用于门扇在开启后背后无墙因而无法使用墙式的情况。链式门吸就比较适合用于门扇在开启后背后有墙但距离较远的情况。所以选择门吸种类的时候,应该根据门与墙之间的距离累确定使用哪一款。 电磁门吸的安装方法: 首先,我们要确定门吸的安装方式以及选择一款合适的门吸产品,之后在门和墙上选择合适的安装位置,然后将吸板正面与电磁体正面对正贴合,不要留有缝隙,否则会影响磁力。再然后,将不干胶贴纸撕下,贴在吸板的背面,将吸板正面与电磁体正面对正贴合,

HALCON算子函数整理10 Matching-3D

HALCON算子函数——Chapter 10 : Matching-3D 1. affine_trans_object_model_3d 功能:把一个任意有限3D变换用于一个3D目标模型。 2. clear_all_object_model_3d 功能:释放所有3D目标模型的内存。 3. clear_all_shape_model_3d 功能:释放所有3D轮廓模型的内存。 4. clear_object_model_3d 功能:释放一个3D目标模型的内存。 5. clear_shape_model_3d_ 功能:释放一个3D轮廓模型的内存。 6. convert_point_3d_cart_to_spher 功能:把直角坐标系中的一个3D点转变为极坐标。 7. convert_point_3d_spher_to_cart 功能:把极坐标中的一个3D点转变为直角坐标。 8. create_cam_pose_look_at_point 功能:从摄像机中心和观察方向创建一个3D摄像机位置。 9. create_shape_model_3d 功能:为匹配准备一个3D目标模型。 10. find_shape_model_3d 功能:在一个图像中找出一个3D模型的最佳匹配。 11. get_object_model_3d_params

功能:返回一个3D目标模型的参数。 12. get_shape_model_3d_contours 功能:返回一个3D轮廓模型视图的轮廓表示。 13. get_shape_model_3d_params 功能:返回一个3D轮廓模型的参数。 14. project_object_model_3d 功能:把一个3D目标模型的边缘投影到图像坐标中。 15. project_shape_model_3d 功能:把一个3D轮廓模型的边缘投影到图像坐标中。 16. read_object_model_3d_dxf 功能:从一个DXF文件中读取一个3D目标模型。 17. read_shape_model_3d 功能:从一个文件中读取一个3D轮廓模型。 18. trans_pose_shape_model_3d 功能:把一个3D目标模型的坐标系中的位置转变为一个3D轮廓模型的参考坐标系中的位 置,反之亦然。 19. write_shape_model_3d 功能:向一个文件写入一个3D轮廓模型。

木门安装说明指导书指导手册图文介绍(附图)

木门安装指南 一、门洞的测量方式 1.门洞的高度:垂直测量门洞上端至地板完成面的距离(若未铺装地板,则必须预留出地面铺装材料的厚度尺寸),选取左右两端两个点进行测量;取其中最小值为门洞的高度尺寸; 2、门洞的宽度:水平测量门洞左右的距离,选取三个以上的点进行测量,取其中最小值为门洞的宽度尺寸。 3、门洞墙体厚度:水平测量墙体厚度,左右各取三个以上的点进行测量;取其中最大值加最小值除以2即为墙体厚度尺寸;若最大值与最小值相差20mm以上,则应修正墙体偏差,达到规定值,如果墙面需要装修,则门洞墙体厚度应附加装饰材料完成面的厚度。 二、安装条件 1、必须采用预留洞口的安装方法,严禁边安装边砌口做法。 2、须在门口地面工程(如地砖、石材)安装完毕后,方可进行安装作业,若遇墙体潮湿应用隔潮材料隔离。

三、安装工具电锤、木头榔头、平锉、边刨、细齿锯(钢锯)、螺丝刀、角尺、卷尺、吊线锤、电钻、开孔器、戳子、相应规格钻头。 四、安装材料自攻螺丝、木牙螺丝、发泡胶、毛巾、小木条、胶水、门锁、合页、门吸、墙体隔潮材料。 五、安装前的准备 1、门扇、门套运到安装现场后,应把门扇、门套、用垫板或木枋纵向垫平放开放置,若需靠墙放置,倾角不得大于15度。 2、若不能及时安装,严禁与酸碱物一起存放,更勿在其产品上放置重物,室内应干燥、通风,并与热源隔开,以免受热变形。 3、检查现场情况,整理并清洁好工作区域,检查门洞或门套的预留尺寸是否符合设计要求。 4、确认安装尺寸、产品型号、清点产品及配件。 5、准备安装工具,详细阅读安装说明书。

六、安装步骤 1、把门套各个部分进行模拟组合,调整门套固定部位的垂直和水平位置,用自攻钉或直钉将其固定。 2、把整体门套置入洞口校正,在门套左右顶端与洞口处用斜型木块嵌入,将其左右竖套板与地面紧密配合。 3、门套两面要与墙体在同一平面上,然后检查门套整体与地面是否垂直,门套顶板与

Halcon学习之四:有关图像生成的函数

Halcon学习之四:有关图像生成的函数 1、copy_image ( Image : DupImage : : ) 复制image图像 2、region_to_bin ( Region : BinImage : ForegroundGray, BackgroundGray,Width, Height : ) 将区域Region转换为一幅二进制图像BinImage。 ForegroundGray, BackgroundGray分别为前景色灰度值和背景色灰度值。Width, Height为Region的宽度和高度。 3、region_to_label ( Region : ImageLabel : Type, Width, Height : ) 将区域Region转换为一幅Lable图像ImageLabel。 Type为imagelabel的类型。 Width, Height为Region的宽度和高度。 4、region_to_mean ( Regions, Image : ImageMean : : ) 绘制ImageMean图像,将其灰度值设置为Regions和Image的平均灰度值。相关例子: [c-sharp]view plaincopyprint? 1.* 读取图像 2.read_image (Image, 'G:/Halcon/机器视觉 /images/bin_switch/bin_switch_2.png') 3.* 复制图像 4.copy_image (Image, DupImage) 5.* 区域生长算法

6.regiongrowing (Image, Regions, 3, 3, 1, 100) 7.* 生成ImageMean 8.region_to_mean (Regions, Image, ImageMean) 9.* 将Region转换为二进制图像 10.r egion_to_bin (Regions, BinImage, 255, 0, 512, 512) 11.*将Region转换为Label图像 12.r egion_to_label (Regions, ImageLabel, 'int4', 512, 512)

木门安装工艺流程图

木门安装工艺流程图 说明: 1 、现场质检:产品运到现场放置于安装位置时,由安装队负责人、设计人员及安装师共同对门的状况进行检验,确认无误后方可进行安装; 2 、门套组装:按照门扇及洞口尺寸在铺有保护垫或光滑洁净的地面进行门套组装; 3 、配件定位:按照标准、设计或订购方要求确定合页、门锁的位置,进行开槽打孔;标准门合页为每扇三个,门锁中心距门扇底边距离: 900mm__1000mm ; 4 、复核洞口:确定洞口的尺寸偏差是否影响安装或有否改动; 5 、临时固定门套:将门套放予门洞口内,用木楔进行临时固定,临时固定点主要为门套左右两上角位置; 6 、安装门扇:将门扇与门套用合页连接固定; 7 、调整:运用木撑或专用工具在门套内侧进行横向和竖向支撑,进行门扇边缝等细部调整;运用垂线及其他工具进行垂直度调整, 8 、胶结固定:使用发泡胶结材料对已调整标准的成套门进行最终固定,将发泡胶注入门套与墙体之间的结构空隙内,填充密实度达百分之八十五以上;在四小时内不得有外力影响,以免发生改变;

9 、锁具安装; 10 、门脸线安装;在发泡胶结材料注入四小时以后,进行门脸线的安装; 11 、密封条安装; 12 、安装验收:分自检和甲方验收两部分,在自检合格后由甲方进行最后验收。

木门安装详细要求与工艺说明 木门安装流程示意图 一、安装条件 1、木门必须采用预留洞口的安装方法,严禁边安装边砌口做法。 2、木门须在门口地面工程(如地砖、石材)安装完毕后,同时在墙面乳胶漆作业最后一道工序之前,方可进行安装作业,若遇墙体潮湿应用隔潮材料隔离。 二、安装工具 电锤、木工榔头、平锉、边刨、细齿锯(钢锯)、螺丝刀、角尺、卷尺、吊线锤、电钻、开孔器、戳子、相应规格钻头。 三、安装材料 60铁钉、自攻螺丝(40、25)、502胶、毛巾、木钉、小木条、发泡胶、地板胶、门锁、合页、门吸、墙体隔潮材料。 四、安装程序 首先检查门各部件是否齐全,各部件尺寸是否正确,分配各套门到相应安装的位置是否与门洞尺寸相符。 1、装门套 (1)组合门套板:根据墙的厚度,调整好相应的门套板宽度,在门套板背面用25mm自攻螺丝将采口板和调节板紧固,螺丝之间的间距≤250mm,组合好后采口板与调节板间隙应小于0.2mm。 (1)锯立套板顶端组装缺口: ①先将组装好的立套板顶端锯成同一平面,且与立套板成90度直角。 ②在立套板的顶部锯凹口,凹口位置及尺寸应刚好合符。顶套板凸出的挡门块部份,要求切口必须平直,用平锉打磨光滑、平整、不能有毛口边。 (2)门套顶板与立板组合,将顶套板盖压在立套板上,顶套板的凸出挡门块部分镶入立套板切锯的凹下部分,两端各用3或4颗40mm的木螺丝将三块紧固,要求三块采口在同一平面,门套内侧立套板与顶套板连接处缝隙小于0.2mm,两立套板与顶套板必须是90度。门套采口部位内空尺寸:宽为门扇宽+7mm,高为门扇高+13mm。 2、安装门套: (1)用电锤在门洞口上打两排孔(略向内倾斜),间距约为300MM,用与之相应大小的木针敲击在里面使之填满。

机器视觉之Halcon算子--区域特征

H a l c o n算子--区域特征 当我们想要提取Region时,图像处理后,往往存在几个类似的Region,此时,需要根据Region的一 些特殊特征,来选择指定的Region。 求Region指定特征值:region_features(Regions : : Features : Value) 根据特征值选择区域:select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : ) Region特征一览: 特征英译备注area Area of the object 对象的面积 row Row index of the center 中心点的行坐标 column Column index of the center 中心点的列坐标 width Width of the region 区域的宽度 height Height of the region 区域的高度 row1 Row index of upper left corner 左上角行坐标 column1 Column index of upper left corner 左上角列坐标 row2 Row index of lower right corner 右下角行坐标 column2 Column index of lower right corner 右下角列坐标 circularity Circularity 圆度0~1 compactness Compactness 紧密度0~1 contlength Total length of contour 轮廓线总长 convexity Convexity 凸性 rectangularity Rectangularity 矩形度0~1 ra Main radius of the equivalent ellipse 等效椭圆长轴半径长度 rb Secondary radius of the equivalent ellipse 等效椭圆短轴半径长度 phi Orientation of the equivalent ellipse 等效椭圆方向 anisometry Anisometry 椭圆参数,Ra/Rb长轴与短轴的比值 bulkiness Bulkiness 椭圆参数,蓬松度π*Ra*Rb/A struct_factor Structur Factor? 椭圆参数, Anisometry*Bulkiness-1

3D木门安装流程

3D木门安装流程 (点击:177) 3D小生 2007-11-16 10:40:20 发表于焦点装修家居网-装修总论坛-3D木门论坛 标签:3D木门3D3D门 第一步、张贴安装告示牌,位置在明显之处。 第二步、清理。安装人员到达现场后,必须清理现场,留有足够的空间摆放门料和安装,清理的物品在征询业主的意见后存放到指定的位置,地面保持平整、干净。把垃圾放在垃圾袋内。 第三步、拆装、摆放、验料、量尺。 步骤1、门扇拆装。用裁纸刀在门边3处划开3处。将门立与门夹之内,在靠墙,门底部和门与门之间用防护角防护立稳。同时检查门扇的质量,包括:弯曲度、划伤、清点数量是否与量尺单位相符等。 步骤2、清理包装。把拆开的包装膜叠好或放在垃圾袋中。 步骤3、辅料拆装。把包装膜先平整铺在地面,然后对套版、口线、档板、封边用裁纸刀划开,口线8支一组叠放在平放的地面,对档板、套板、封边分组平放地面,面对面上下放好,摆放整齐。同时清点数量是否与量尺单相符。 步骤4、清理包装膜。 步骤5、五金件拆装。对五金件拆装同时清点各部件和检查质量。摆放整齐。 步骤6、工具箱摆放离开墙面10cm位置,把各类胶摆放整齐,禁止靠在墙面,离开10cm 左右。 第四步、测量。测量的有关事项与验料项同步进行。 步骤1、门扇测量与量尺单核对,测量包括:门扇的型号,高、宽和垂直度的尺寸。 步骤2、门洞测量,包括:门洞的高、宽和墙壁厚度及垂直度,并做好记号。 步骤3、套板测量。套板的宽与墙体的厚度是否相符,套板的宽度和墙体的高度是否相符。 第五步、打眼。 步骤1、在门洞左右墙壁测量垂直度后,在同一直线上个选择7个点,上访选1-2点,用冲击钻打眼。 步骤2、墙壁掉下来的灰尘及时清理装入垃圾袋中。

halcon基础数据类型详解

halcon基础数据类型详解 #if defined(__CHAR_UNSIGNED__) || defined(__sgi) #define INT1 signed char /* integer, signed 1 Byte */ #define INT1_MIN SCHAR_MIN #define INT1_MAX SCHAR_MAX #else #define INT1 char /* integer, signed 1 Byte */ #define INT1_MIN CHAR_MIN #define INT1_MAX CHAR_MAX #endif #define UINT1 unsigned char /* integer, unsigned 1 Byte */ #define UINT1_MIN 0 #define UINT1_MAX UCHAR_MAX #define LONG_FORMAT _INT64_FORMAT typedef INT4_8 Hlong; typedef UINT4_8 Hulong; 看粗体部分,可以看到Hlong型在32位的机器上其实就是long型代表4个字节32位,在64位机器上有另一种定义 再来看看halcon中最重要的数据类型HTuple,在C++里面,halcon将HTuple类型封 装了类,其始祖类HRootObject,这个类相当于MFC里面的CObject,halcon从HRootObject 派生了HBaseArray,当然这两个类是虚基类,有一些方法需要我HTuple自己实现,当然也 有一些方法可以直接用的。这两个类在HCPPUtil里,可以看看。 HTuple类就是从HBaseArray派生,元组基类,相当于数组,具有如下的构造函数: HTuple(int l); HTuple(float f); HTuple(double d); HTuple(constchar *s);

Halcon学习(24)总结(一)

Halcon学习(二十四)总结(一) 好久没有写篇文章了。写一篇总结吧。 1、Halcon的自我描述 Program Logic ? Each program consists of a sequence of HALCON operators ? The program can be structured into procedures ? The sequence can be extended by using control operators like if, for, repeat, or while ? The results of the operators are passed via variables ? No implicit data passing is applied ? Input parameters of operators can be variables or expressions ? Output parameters are always variables ? HDevelop has no features to design a graphical user interface ? An HDevelop program is considered as a prototypic solution of the vision part of an application ? HDevelop is typically not used for the final application 由此可以看出,Halcon的定位是一个类库,有着完整、快速实现函数,同时提供了HDevelop 作为快速开发的图形化(IDE)界面;但是,Halcon程序并不是一个完整的最终应用软件,它没有用户界面,也不提供显示的数据(公用的数据格式)。 Halcon的初学者也应当从参考Halcon的程序入手,熟悉Halcon类库,也即HDevelop-Based Programming;在此基础上,进入ORClass-Oriented Programming。这也是Halcon推荐的开发方式: The vision part is solved with HDevelop, and the application is developed with C++ or Visual Basic。 2、HDevelop界面的学习 通过阅读Halcon的PPT,学到了下面一些有用的信息: ? 文件——浏览示例,可以看到很多有用的例子; ? 程序窗体中,可以浏览与编辑Procedues(过程),这个其实就是自定义函数咯~还可以自己修改这些过程,并添加说明文档; ? F4——将函数语句注释掉;F3——激活; ? 本地过程(Local Procedue)与外部过程(Externel Procedue) 3、基本语法结构 Halcon的语法结构 类似于Pascal 与 Visual Basic,大部分的语句是Halcon提供的算子,此外也包含了少部分的控制语句; 不允许单独声明变量; 提供自动的内存管理(初始化、析构及OverWrite),但句柄则需要显示释放; C++(算子模式) 通过代码导出,以C++为例,默认导出为算子型的语法结构,而非面向对象的;在此模式下,全部函数声明为全局类型,数据类型只需要用Hobject、HTuple两类类型进行声明; C++(面向对象) 可以以面向对象的方式重写代码,也即利用类及类的成员函数;

HALCON算子函数Chapter 16:System

HALCON算子函數——Chapter 16 : System 16.1 Database 1. count_relation 功能:在HALCON數據庫中實體的數目。 2. get_modules 功能:查詢已使用模塊和模塊關鍵碼。 3. reset_obj_db 功能:HALCON系統的初始化。 16.2 Error-Handling 1. get_check 功能:HALCON控制模式的說明。 2. get_error_text 功能:查詢HALCON錯誤測試後錯誤數目。3. get_spy 功能:HALCON調試工具當前配置。 4. query_spy 功能:查詢HALCON調試工具可能的設置。5. set_check 功能:激活和鈍化HALCON控制模式。

6. set_spy 功能:HALCON調試工具的控制。 16.3 Information 1. get_chapter_info 功能:獲取程序有關章節的信息。 2. get_keywords 功能:獲取指定給程序的關鍵字。 3. get_operator_info 功能:獲取關於HALCON程序的信息。 4. get_operator_name 功能:獲取由給定字符串作為它們的名字的程序。 5. get_param_info 功能:獲取關於程序參數的信息。 6. get_param_names 功能:獲取一個HALCON程序參數的名字。 7. get_param_num 功能:獲取一個HALCON程序不同參數類的數目。 8. get_param_types 功能:獲取一個HALCON程序控制參數的缺省數據類型。

HALCON算子函数Chapter 15: Segmentation

HALCON算子函數——Chapter 15 : Segmentation 15.1 Classi?cation 1. add_samples_image_class_gmm 功能:將從圖像中獲取的測試樣本添加到高斯混合模型的測試數據庫中。2.add samples_image_class_mlp 功能:將從圖像中獲取的測試樣本添加到多層視感控器的測試數據庫中。 3. add_samples_image_class_svm 功能:將從圖像中獲取的測試樣本添加到一個支持向量機的測試數據庫中。 4. class_2dim_sup 功能:采用二維空間像素分類分割圖像。 5. class 2dim unsup 功能:將兩幅圖像以聚類分割。 6.class ndim_box 功能:利用立方體將像素分類。 7. class_ndim_norm 功能:利用球體或立方體將像素分類。 8. classify_image_class_gmm 功能:根據高斯混合模式分類圖像。 9. classify_image_class_mlp 功能:根據多層視感控器分類圖像_。 10. classify_image_class_svm 功能:根據支持向量機分類圖像。 11. learn_ndim_box

功能:利用多通道圖像測試一個分級器。 12. learn_ndim_norm 功能:為class_ndim_norm構建類。 15.2 Edges 1. detect_edge_segments 功能:檢測直線邊緣分割。 2. hysteresis_threshold 功能:對一副圖像采取磁滯門限操作。 3. nonmax_suppression_amp 功能:抑制一幅圖像上的非最大值點。 4. nonmax_suppression_dir 功能:利用指定圖像抑制一幅圖像上的非最大值點。 15.3 Regiongrowing 1. expand_gray 功能:依據灰度值或顏色填充兩個區域的間隙或分割重疊區域。 2. expand_gray_ref 功能:依據灰度值或顏色填充兩個區域的間隙或分割重疊區域。 3. expand_line 功能:從給定線開始擴充區域。 4. regiongrowing 功能:利用區域增長分割圖像。

什么是铝合金门门吸-铝合金门门吸如何安装-

什么是铝合金门门吸?铝合金门门吸如何安 装? 导读:本文介绍在房屋装修,主材选购的一些知识事项,如果觉得很不错,欢迎点评和分享。 门吸是日常生活中常见的工具,使用门吸可以避免因为一些外界的干扰而不小心关闭门,或者由于不小心的触碰而不小心关闭门。铝合金门是一种常见的大门的种类,那么什么是铝合金门门吸?铝合金门门吸如何安装?下面和小编一起来了解一下吧。 什么是铝合金门门吸? 1、顾名思义,铝合金门门吸就是安装在铝合金材质门上的门吸。门吸也俗称门碰,也是一种门页打开后吸住定位的装置,以防止风吹或碰触门页而关闭。门吸分为永磁门吸和电磁门吸二种,永磁门吸一般用在普通门中,只能手动控制;电磁门吸用在防火门等电控门窗设备,兼有手动控制和自动控制功能。 2、普通永磁门吸按安装形式分墙装式、地装式,按材质分塑料型、金属型;电磁门吸按不同的安装方式产品分为CT-01墙式、CT-02地式、CT-03链式三大类,墙式电磁门吸根据结构不同又分为标准型、增高型、加长型、盒装型、暗

装型、长臂型等;地式电磁门吸由CT-01墙式电磁门吸和直角地面安装支架组成;链式电磁门吸由CT-01墙式电磁门吸和链条扣件组成;由于CT-01墙式、CT-02地式、CT-03链式电磁门吸主体互相通用,方便用户根据使用现场安装条件来选用。 3、普通永磁门吸按安装形式分墙装式、地装式,按材质分塑料型、金属型;电磁门吸按不同的安装方式产品分为CT-01墙式、CT-02地式、CT-03链式三大类,墙式电磁门吸根据结构不同又分为标准型、增高型、加长型、盒装型、暗装型、长臂型等;地式电磁门吸由CT-01墙式电磁门吸和直角地面安装支架组成;链式电磁门吸由CT-01墙式电磁门吸和链条扣件组成;由于CT-01墙式、CT-02地式、CT-03链式电磁门吸主体互相通用,方便用户根据使用现场安装条件来选用。 铝合金门门吸如何安装? 1、首先要和业主确认门吸安装方式,是安装在地面上,还是安装在墙面上。因为这是卫浴间,业主决定门吸直接安装在地砖上,门后留置物空间。 2、第二步将门打开至需要的大位置,测试门吸作用是否合理,门吸在门上的距离是否合适定位门的位置,大致定位好之后,将门打开,试试实际操作是否合理,包括门吸是进去一点,还是出来一点,门吸的具体角度怎么样。

HALCON中filter函数

HALCON算子函数——Chapter 5 : Filter 5.1 Arithmetic 1. abs_image 功能:计算一个图像的绝对值(模数)。 2. add_image 功能:使两个图像相加。 3. div_image 功能:使两个图像相除。 4. invert_image 功能:使一个图像反像。 5. max_image 功能:按像素计算两个图像的最大值。 6. min_image 功能:按像素计算两个图像的最大小值。 7. mult_image 功能:使两个图像相乘。 8. scale_image 功能:为一个图像的灰度值分级。 9. sqrt_image 功能:计算一个图像的平方根。 10. sub_image 功能:使两个图像相减。 5.2 Bit 1. bit_and 功能:输入图像的所有像素的逐位与。 2. bit_lshift 功能:图像的所有像素的左移。3 . bit_mask 功能:使用位掩码的每个像素的逻辑与。 4. bit_not 功能:对像素的所有位求补。 5. bit_or 功能:输入图像的所有像素的逐位或。 6. bit_rshift 功能:图像的所有像素的右移。 7. bit_slice 功能:从像素中提取一位。 8. bit_xor 功能:输入图像的所有像素的逐位异或。5.3 Color

1. cfa_to_rgb 功能:把一个单通道颜色滤波阵列图像变成RGB图像。 2. gen_principal_comp_trans 功能:计算多通道图像的主要部分分析的转换矩阵。 3. linear_trans_color 功能:计算多通道图像的颜色值的一个仿射转换。 4. principal_comp 功能:计算多通道图像的主要部分。 5. rgb1_to_gray 功能:把一个RGB图像转变成一个灰度图像。 6. rgb3_to_gray 功能:把一个RGB图像转变成一个灰度图像。 7. trans_from_rgb 功能:把一个图像从RGB颜色空间转变成任意颜色空间。 8. trans_to_rgb 功能:把一个图像从任意颜色空间转变成RGB颜色空间。 5.4 Edges 1.close_edges 功能:使用边缘幅值图像消除边缘缺陷。 2. close_edges_length 功能:使用边缘幅值图像消除边缘缺陷。 3. derivate_gauss 功能:用高斯派生物对一个图像卷积。 4. diff_of_gauss 功能:近似高斯的拉普拉斯算子。 5. edges_color 功能:使用Canny、Deriche或者_Shen_滤波器提取颜色边缘。 6. edges_color_sub_pix 功能:使用Canny、Deriche或者_Shen_滤波器提取子像素精确颜色边缘。 7. edges_image 功能:使用Deriche、_Lanser、Shen或者_Canny滤

Halcon学习之边缘检测函数

Halcon学习之边缘检测函数 sobel_amp ( Image : EdgeAmplitude : FilterType, Size : )根据图像的一次导数计算图像的边缘 close_edges ( Edges, EdgeImage : RegionResult : MinAmplitude : ) close_edges_length( Edges, Gradient : ClosedEdges : MinAmplitude, MaxGapLength : ) 使用边缘高度图像关闭边缘间隙。输出的区域包含杯关闭的区域。(感觉是对边缘的扩充) derivate_gauss( Image : DerivGauss : Sigma, Component : ) watersheds( Image : Basins, Watersheds : : )从图像中提取风水岭。 zero_crossing( Image : RegionCrossing : : )零交点(二次导数) diff_of_gauss( Image : DiffOfGauss : Sigma, SigFactor : )近似日志算子(拉普拉斯高斯)。 laplace_of_gauss ( Image : ImageLaplace : Sigma : ) 拉普拉斯高斯edges_color_sub_pix ( Image : Edges : Filter, Alpha, Low, High : )精确的亚像素边缘提取(彩色图像) edges_sub_pix ( Image : Edges : Filter, Alpha, Low, High : ) 精确边缘提取的亚像素(灰度图像) edges_color ( Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )根据颜色进行边缘提取 edges_image ( Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )边缘提取 skeleton ( Region : Skeleton : : )计算区域的框架Skeleton == Region

halcon常用算法

1、read_image (Image, 'F:/image/001.bmp') 读入图像 2、threshold (Image, region, 100, 200) 阈值分割,获取区域 3、dev_close_window() 关闭当前图形窗口 4、dev_open_window (0, 0, 640, 480, 'black', WindowHandle) 打开一个新的图像窗口 5、decompose3 (Image, Red, Green, Blue) 三通道图像转换成三幅单通道图像 5.5、compose3(Red, Green, Blue, Image) 三幅单通道图像组合为三通道图像 6、connection (Region, ConnectedRegions) 将像素有相连的区域合并成一个元素element 7、count_obj(ConnectedRegions, Number) 计算元素element的个数 8、select_shape(Regions, SelectedRegions, Features, Operation, Min, Max) select_shape (ConnectedRegions,SelectedRegions,['area','anisometry'], 'and', [500,1.0], [50000,1 .7]) 连通域形状的选择 circularity:表示环状;充实度 roundness:圆度 9、dev_set_color('red') 设定输出的颜色 10、dev_set_draw ('margin') 或者 dev_set_draw ('fill') 确定区域填充模式 11、get_image_size (Image, Width, Height) 得到图像的宽度和高度 12、get_image_pointer1 (Image_slanted, Pointer, Type, Width, Height) 设定Pointer指向Image_slanted的起点位置。 13、dev_set_part (0, 0, Height-1, Width-1) 设定图像需要显示的范围 14、dev_display (Image_slanted) 显示图像 15、disp_continue_message(WindowHandle, 'blue', 'false') 等待用户操作是否继续stop () 16、projective_trans_image (Image_slanted, Image_rectified, HomMat2D, 'bilinear', 'false', 'false') 将投影变换应用于一幅图像中。 17、dev_set_line_width (5) 为区域轮廓线设定线宽 18、disp_message (WindowHandle, 'Decoded string: ', 'window', -1, -1, 'black', 'true') 程序写一个文本信息 19、union_collinear_contours_xld 合并在同一直线的XLD union_cocircular_contours_xld 合并在同圆的XLD union_adjacent_contours_xld 合并邻近的XLD 20、fit_line_contour_xld 拟合直线 21、trans_from_rgb(Rimage,Gimage,Bimage,Image1,Image2,Image3,'hsv') rgb颜色空间图像转换到hsv颜色空间图像 22、trans_to_rgb(Image1,Image2,Image3,ImageRed,ImageGreen,ImageBlue,'hsv') hsv颜色空间图像转换到rgb颜色空间图像 23、set_display_font (WindowID, 20, 'mono', 'true', 'false') 设置字体(bottle.hdev) 24、fill_up_shape (RawSegmentation, RemovedNoise, 'area', 1, 5) 根据给定的形状特征填补区域中的不足 25、opening_circle (RemovedNoise, ThickStructures, 2.5) 以半径为2.5像素先腐蚀再膨胀,开运算去除小区域。 26、fill_up (ThickStructures, Solid) 填补区域中的空洞 27、intersection (ConnectedPatterns, ThickStructures, NumberCandidates) 求两个区域的交集然后输出,求ConnectedPatterns区域和ThickStructures 区域的交集,输出 NumberCandidates 28、dev_set_shape ('rectangle1') 设置外接矩形 29、distance_lr (SelectedRegions, Row1, Col1, Row2, Col2, DistanceMin, DistanceMax) 计算直线和区域之间的距离,出现最小距离和最大距离 30、disp_line (WindowID, Row1, Col+100, Row2, Col) 绘制直线段( Col+100, Row1)为起点,(Col, Row2)为终点

相关文档