halcon
abcvincent
设计
展开
-
halcon学习笔记(1)——halcon开发环境配置及其他
前一阵学习opencv,发现opencv太基础,导致看了半天,还是对机器视觉的相关思想和方法感到摸不清头脑,于是找了成熟的机械视觉算法库及具有集成开发环境的halcon;当然halcon不是开源的,但是可以借鉴学习一下视觉开发的成熟思想,而且halcon自带大量应用案例,开发环境友好直观。好下面具体介绍吧: 首先得下载halcon的集成开发环境,网上自己找吧,有很多;我安装的是:原创 2016-08-20 16:02:52 · 7818 阅读 · 3 评论 -
halcon学习笔记(13)——二维码识别及简单定位
前面说了利用halcon进行二维码的识别,这次进行二维码识别及方向定位,虽然二维码本身也有定位和方向性,但是我没有在halcon算子里找到这个函数或调出这个参数的方法;不过可以通过在二维码附近添加mark图形来进行角度和方向识别,这样在AGV小车应用中就可作为地标识别程序了,当然AGV小车应用的话很少是window系统,一般是嵌入式linux系统,虽然halcon支持linux系统,且QT也支持跨原创 2016-12-24 18:15:41 · 21582 阅读 · 0 评论 -
halcon学习笔记(12)——相机实践标定及二维码
最近某宝上买了一个工业相机和镜头,简单的做了一下实验;1)相机是需要驱动的按照商家的操作安装好驱动,这样电脑才能识别到;2)打开halcon的-助手-Image Acquisition-图像获取接口-检测-连接-点击实时即可看到相机输出;3)标定,先打印标定板,看我前面笔记操作,具体助手-Callibration-安装选择描述文件caltab_30mm.descr-标定-图像采集助手-原创 2016-12-10 15:25:24 · 8654 阅读 · 2 评论 -
halcon学习笔记(10)——标定
摄像头拍摄时候,图像均有畸变,但是图像的扭曲变形均是有规律的成线性的,所以可以通过算法矫正。矫正的算法可以在网上找到,这里就叙述了。halcon标定过程需要在镜头内放置标定板;标定板一般选用30*30mm的;可以通过halcon程序来制作:gen_caltab(::XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile :)原创 2016-10-31 20:48:12 · 27525 阅读 · 5 评论 -
halcon学习笔记(7)——学习particle例子的动态阈值分割dyn_threshold
手册里面的particle例子,例子的任务是分析颗粒在液体中。在这个应用程序的主要困难:存在两种类型的对象:大明亮物体和较低的小物体的对比。此外噪音使分割的存在困难;无法使用全局灰度阈值threshold进行分割;所以采用先将大块不需要检测的部分去除掉,再通过灰度动态阈值dyn_threshold分割图像得到想要的内容。以下是代码:原创 2016-10-07 22:05:40 · 7645 阅读 · 0 评论 -
halcon学习笔记(9)——例子fin区域运算分割图像学习
例子还是手册中的,例子叫fin.hdev;是检测一个圆形结构上出的“小尾巴”;步骤是,第一,分割出背景和目标物;第二,分割并关闭想要的圆形物体的后的背景图(a);第三,用背景(a)减去分割关闭圆结构的图(b),得到想多余的小尾巴(c);第四,优化小尾巴(c),去除干扰,得到优化后的小尾巴(d),下图即为a-b=c,c优化后得到d处理图:原创 2016-10-18 23:05:48 · 4526 阅读 · 0 评论 -
halcon学习笔记(11)——Bonding Balls例子
例子是检测pcb板上的圆形接线处,并标记位置,例子很简单,下面是原图和结果,代码也直接上了。原创 2016-11-02 21:57:56 · 2117 阅读 · 1 评论 -
halcon学习笔记(8)——QT显示halcon处理的图像和结果
前面讲过如何配置halcon和QT的联合编程,这次分享一下显示halcon处理后的图像,并输出处理后的结果。第一步:如前面将的配置halcon的lib一样配置好环境;第二步:将halcon中调试好的程序导出c++的代码。方法是HDevelop 》文件》导出,然后选择c++的输出,utf-8的格式,确定即可;第三步:打开导出的c++文档,将内容main函数前面的内容全部复制到qt的要实现原创 2016-10-09 22:30:41 · 18159 阅读 · 15 评论 -
halcon学习笔记(6)——学习Crystals例子的凸包及图像熵
还是手册里面的例子,这个回的难度比较大,概念性的东西比较多,例子在Halcon手册Solution Guide I Basics的4.3.1 Crystals里;话不多说贴一下代码:* crystal.hdev: extraction of hexagonally shaped crystals via local thresholding and region post-processing原创 2016-09-17 16:24:05 · 6523 阅读 · 2 评论 -
halcon学习笔记(5)——QT和Halcon配置c++混合编程
QT和halcon的配置实验了一阵,总是不太成功;后来用qt+vs版本的,并且用vs编译器才配合成功,这里和大家分享一下经验。 (1)首先下载qt-opensource-windows-x86-msvc2010-5.5.1.exe,这个官网上就有; (2)下载qt-vs-addin-1.2.4-opensource.exe,这个官网也有,没有可以去这个网站(原创 2016-09-17 09:35:36 · 21997 阅读 · 24 评论 -
halcon学习笔记(4)——调用图形函数画Region
前面学习了Halcon手册里的一个例子,这里简单扩展一下,例子在Halcon手册Solution Guide I Basics第三章里面也有,这里我自己实验的例子如下:read_image (Image, 'E:/images/44.png')rgb1_to_gray (Image, GrayImage)get_image_size (GrayImage, Width, Height)原创 2016-09-04 20:55:32 · 17319 阅读 · 0 评论 -
halcon学习笔记(3)——critical_points例子学习(图像分割Region)
例子在HDevelop自带例子里面,叫critical_points;目的是在所画的闭合区域内的进行检测图像中的鞍点,鞍点具体是什么我这里也不太了解;以后深入再叙述吧。话不多说先上例子:例子中输入图像和处理后的图像是这样子:左边是输入图像,白色的圈是鼠标画出的闭合区域,右边是图像分割后图像,并检测鞍点,就是图中黑白交错的圆圈;我使用的图形如下:原创 2016-09-01 21:24:31 · 6092 阅读 · 0 评论 -
halcon学习笔记(2)——clip例子学习(直方块图和特征直方块图)
例子在HDevelop自带例子里面,叫clip;这里讲我实验的内容,机械视觉目的:检测照片中图像,标记中心位置及其方向,代码如下:dev_update_window ('off')read_image (Image, 'E:/test2.jpg')get_image_size (Image, Width, Height)dev_close_window ()dev_open_win原创 2016-08-21 00:18:03 · 10330 阅读 · 3 评论 -
halcon学习笔记(14)——模板匹配
halcon的模板匹配种类有很多种,方法各有优缺点,一般有基于灰度的匹配,基于形状的匹配等等,这里具体理论和方法再做详解,这里简单总结一个实例。图像匹配一般需要对旋转放缩进行处理,另外为了提高搜索效率,常用用图像金字塔来处理模板图像,图像金子塔就是把图像按一定算法,缩小为不同比例的模板,减少像素;一般的流程如下:所以首先创建模板,模板的创建就是采集一张自己需要的原始图像,如下我采集的原始图原创 2017-02-01 12:28:42 · 24724 阅读 · 6 评论