
halcon
halcon从零基础到项目实战
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
东城青年
非宁静无以致远
微信号:15221816820
展开
-
halcon第二十四讲:手眼标定基本原理
手眼标定涉及的坐标系有:工件坐标系 工具坐标系 相机坐标系(相机坐标系里又有图像坐标系和像素坐标系,这其实就是前面讲的单目标定的内容) 基坐标系手眼标定一般有两种形式:1、相机固定(eye-to-hand)我们需要的最终结果,即得到base 与 cam 的空间位置关系,即一个4*4的变换矩阵。这个可以通过移动tool带着标定板移动到相机下方不同位置角度,由相机多次拍摄标定板...原创 2018-11-23 13:04:59 · 26672 阅读 · 5 评论 -
halcon第二十三讲:标定助手标定测量
1.生成标定板 文件ps格式,可通过ps软件打印出来, 以及标定板的描述文件descr格式gen_caltab (7, 7, 0.0125, 0.5, 'caltab.descr', 'caltab.ps')2.打开标定助手进行标定:输入相机像素尺寸,焦距参数,加载描述文件,移动标定板到整个视野的不同地方,旋转不同的角度进行采集,采集到十张左右就差不多了,然后选择其中一张为参考位姿,即...原创 2018-11-16 13:52:48 · 14813 阅读 · 14 评论 -
halcon第二十二讲:单目标定基本原理
1、坐标系的转换1.1 世界坐标系世界坐标系(world coordinate),也称为测量坐标系,是一个三维直角坐标系,以其为基准可以描述相机和待测物体的空间位置。世界坐标系的位置可以根据实际情况自由确定。1.2 相机坐标系 相机坐标系(camera coordinate),也是一个三维直角坐标系,原点位于镜头光心处,x、y轴分别与相面的两边平行,z轴为镜头光轴,与像平面垂...原创 2018-11-16 13:15:50 · 4834 阅读 · 0 评论 -
halcon第二十一讲:halcon联合c#实时采集
1、halcon完成程序开发,并导出c#格式;2、新建窗体应用程序;3、配置环境;4、添加控件,将action里的代码拷贝到对应消息相应函数中。 c#中实现相机实时采集主要有四种方式:for/while循环;多线程;回调函数;定时器。这里用定时器方式。【1】打开相机消息响应函数://【1】相机初始化 private void button1_Click...原创 2018-09-02 11:30:20 · 8434 阅读 · 17 评论 -
halcon第二十讲:halcon联合c#配置及例程
一、halcon联合c#配置比联合vc配置简单多了:1、项目—》属性—》生成—》目标平台改成自己电脑对应的平台,我的电脑是64位的,所以选择x64;2、右键你的项目—》添加—》引用—》浏览—》bin/dotnet35/halcondotnet.dll,添加确定即可;3、右击窗体—》查看代码,在窗体代码中添加命名空间using HalconDotNet。 二、halcon联合c#...原创 2018-09-01 15:38:16 · 11216 阅读 · 2 评论 -
halcon第十九讲:基于高斯混合模型的水果分类
高斯混合模型是将多个服从高斯分布的模型进行线性组合,几乎能拟合成任何一条曲线。比如在生活中男生身高普遍在175左右,女生身高普遍在165左右,并且都服从高斯分布,就可通过中间交叉点进行分类。 上面只用到一种特征,下面的例子为halcon例程—》方法—》特征提取—》classify cirtrus_fruits.hdev ,这里的水果分类用到的是圆度和面积两种特征,其模型将是二维高斯分布曲面...原创 2018-09-01 09:43:22 · 4463 阅读 · 0 评论 -
halcon第十八讲:环形字符识别
对于水平的字符很好识别,通过分割字符,创建训练文件,创建分类器,读入训练文件,训练分类器,识别字符,或者直接使用助手可快速实现ocr识别。对于环形字符,最关键的一步就是先将环拉直,即将直角坐标转换为极坐标,水平轴为角度,竖直轴为极轴。比如在直角坐标中的一个圆,在极坐标中就被拉直成了一条直线。要识别的环形字符图片如下:read_image (Image, '1.png')get_im...原创 2018-08-31 11:44:24 · 4889 阅读 · 6 评论 -
halcon第十七讲:拟合测量
halcon中除了可以使用助手测量外,还可通过拟合来进行一系列的几何测量。要测量的工件如下:*采集图像read_image (Image, '1.png')get_image_size (Image, Width, Height)dev_open_window (0, 0, Width, Height, 'black', WindowHandle)dev_display (I...原创 2018-08-30 20:21:59 · 6796 阅读 · 0 评论 -
halcon第十六讲:缺陷检测
通过拟合来求缺陷,对应halcon例程:方法—》轮廓线处理—》fit_rectangle2_contour_xld.hdev。原图如下,要求检测出图中有缺陷的物体:read_image (Image, '1.png')get_image_size (Image, Width, Height)dev_open_window (0, 0, Width, Height, 'black'...原创 2018-08-30 15:50:05 · 17477 阅读 · 12 评论 -
halcon第十五讲:基于灰度值的模板匹配
Halcon自带的图片默认位置:C:\Users\Public\Documents\MVTec\HALCON-12.0\examples\images基于灰度值的模板匹配,首先创建一个模板,在图像金字塔中去旋转缩放式搜索,寻找均值或方差与模板最接近的区域,即匹配到该模板。虽然受光照影响大,但如果是线性变换的光照,可以通过设置模板的均值偏差来解决这个问题,也叫模板自适应。基于相关性的模板匹配...原创 2018-08-29 15:54:58 · 8794 阅读 · 5 评论 -
halcon第十四讲:基于形状的模板匹配
基于形状的模板匹配(基于边缘方向梯度的模板匹配算法),对应halcon例程:方法—》模板匹配(基于形状)—》find objects using shape-based matching(with scaling and rotation)。将图像和模板在高层金字塔进行搜索,然后映射都低层,搜索速度快,模板有旋转有放缩的搜索。注意这里的目标有旋转的,也有放缩的。原图和待匹配图分别如下:...原创 2018-08-29 12:52:37 · 14423 阅读 · 9 评论 -
halcon第十三讲:halcon联合vc实时人脸跟踪
1、在halcon中完成人脸实时跟踪程序开发,程序如下,将其导出为c++格式;(这里用到的原理是基于相关性的模板匹配,在我的halcon第十二讲博客中有所讲解)open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] Lenovo EasyCamer...原创 2018-08-28 10:42:31 · 9349 阅读 · 5 评论 -
halcon第十二讲:基于相关性的模板匹配
一、基于相关性的模板匹配例程打开halcon例程(ctrl+E)—》方法—》模板匹配—》find an objiect despite linear illumination changes using correlation-based matching相关性原理:首先创建一个模板,把模板里每一个像素当成一个特征,所有像素按列组成一个行向量a,即模板的特征向量。在图像中寻找与模板最匹配的...原创 2018-08-27 19:52:21 · 11013 阅读 · 14 评论 -
halcon第九讲:halcon联合vc实现ocr识别
一、先在halcon中实现ocr识别所要识别的图如下:*联合vc时要用绝对路径read_image (Image, 'C://Users//Administrator//Desktop/halcon//第九讲、halcon联合vc实现ocr识别//1.png')get_image_size (Image, Width, Height)dev_open_window (0, 0,...原创 2018-08-27 16:27:49 · 3260 阅读 · 3 评论 -
halcon第十一讲:基于训练学习的木板纹理识别
现有以下五组木板图像,分别为A,B,C,D,E,通过训练学习识别出它们: *通过助手获取文件夹下所有图像dev_open_window (0, 0, 512, 512, 'black', WindowHandle)list_files ('C:/Users/Administrator/Desktop/halcon/第十讲、基于训练学习的模板纹理识别/木板图片', ['files'...原创 2018-08-27 10:48:39 · 3995 阅读 · 8 评论 -
halcon第十讲:自定义算子封装
自定义算子封装。一、自定义本地程序函数,即只有该程序可以使用该算子。1、编写算子函数read_image (Image, lujing)threshold (Image, Region, 128, 255)dev_display (Image)dev_display (Region)return ()2、全部选中这些代码,单击函数—》创建函数—》定义个算子的名称为blob...原创 2018-08-26 14:53:35 · 7394 阅读 · 3 评论 -
halcon第八讲:halcon联合vc配置及例程
halcon在vc中的配置,以及halcon联合vc实现图像的采集显示。一、vc配置halcon:1、项目—》属性—》c/c++—》常规—》附件包含目录-》添加/include和/include/halconcpp两个目录;2、链接器—》常规—》附加库目录—》添加lib/x64_win64目录;3、链接器—》输入—》附加依赖项—》编辑为halconcpp.lib;4、配置动态链...原创 2018-08-26 13:39:54 · 6271 阅读 · 5 评论 -
halcon第七讲:基于训练学习的颜色检测
基于训练学习的颜色检测:【1】、创建分类器create_class_mlp;【2】、从一幅图像中添加训练样本add_samples_image_class_mlp;【3】、训练模型train_class_mlp;【4】在一幅图像中进行识别分类classify_image_class_mlp;dev_open_window (0, 0, 512, 512, 'black', ...原创 2018-08-25 20:32:29 · 3461 阅读 · 0 评论 -
halcon第六讲:基于颜色空间的颜色检测
基于颜色空间的颜色检测(根据HSV空间中的色度图像来识别不同颜色,因为不同颜色有不同的色度范围)一、halcon例程1:应用范围—>颜色识别—>segment color image in HSV color space。dev_close_window ()dev_open_window (0, 0, 640, 480, 'black', WindowHandle)fo...原创 2018-08-25 12:02:13 · 12304 阅读 · 0 评论 -
halcon第五讲:汉字识别
基于halcon的汉字识别:【1】、字符分割;【2】、创建trf训练文件,即将字符图像和字符关联起来write_ocr_trainf;(可通过打开ocr训练文件浏览器加载刚才创建的trf训练文件进行浏览,还可生成异形文字,如下图所示)【3】、读取trf训练文件,得到所有类别及其对应的个数,read_ocr_trainf_names;【4】、创建分类器create_ocr_c...原创 2018-08-25 09:56:23 · 9482 阅读 · 2 评论 -
halcon第四讲:玩转车牌识别
玩转车牌识别,灵活运用Blob分析,颜色空间转换,形状转换,放射变换等等识别车牌号码。原图如下: dev_open_window (0, 0, 512, 512, 'black', WindowHandle)read_image (Image, '1.jpg')invert_image (Image, ImageInvert)*拆分3通道并转换为hsv空间decompo...原创 2018-08-24 16:32:10 · 4104 阅读 · 5 评论 -
halcon第三讲:助手操作
熟悉halcon助手的操作,利用助手快速完成几何测量和车牌识别。一、测量为了每次只用一个固定的测量线段进行测量,对于每次来的不同方向的图片先做放射变换进行校正并移到图像中心位置处进行测量。read_image (Image, '1.jpg')get_image_size (Image, Width, Height)rgb1_to_gray (Image, GrayImage)*...原创 2018-08-24 14:58:35 · 6521 阅读 · 3 评论 -
halcon第二讲:焊点提取
本文要完成的任务是将下图中焊点提取出来,对应于halcon例程Blob分析中的ball.hdev。dev_open_window (0, 0, 512, 512, 'black', WindowHandle)read_image (Image, 'die_03.png')disp_continue_message (WindowHandle, 'black', 'true')sto...原创 2018-08-24 12:28:32 · 7053 阅读 · 5 评论 -
halcon第一讲:基本操作
本文通过Blob分析提取出图片中的硬币,来熟悉halcon的基本操作。1、读取图像,halcon读取图像有三种方式:1)、文件->读取图像;2)、通过助手;3)、代码*打开窗口dev_open_window (0, 0, 512, 512, 'black', WindowHandle)*读取图像read_image (Image,'1.png')读取的图像如下:2...原创 2018-08-23 16:16:53 · 30732 阅读 · 1 评论