
Halcon
文章平均质量分 83
hust1900
这个作者很懒,什么都没留下…
展开
-
五.HALCON摄像机标定
1.read_cam_par( : :CamParFile:CameraParam)从文件夹中读取相机的内参数。2.disp_caltab( : :WindowHandle,CalTabDescrFile,CameraParam,CaltabPose,ScaleFac: )利用相机内外参数,把标定板模型投影到图像平面,显示标定点和连接线,X,Y轴也被显示出来。3.vec转载 2013-03-11 10:02:13 · 1165 阅读 · 0 评论 -
可变形模板查找
find_planar_calib_deformable_model查找可变形模板一般都要和create_planar_calib_deformable_model或者read_deformable_model函数搭配使用find_planar_calib_deformable_model(Image : : ModelID,AngleStart,AngleExtent,ScaleRM原创 2013-04-07 22:06:13 · 970 阅读 · 0 评论 -
基于HALCON的模板匹配方法总结
HDevelop开发环境中提供的匹配的方法主要有五种,即Component-Based、Gray-Value-Based、Shape-Based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配。前三种匹配的方法各具特点,分别适用于不同的图像特征,但都有创建模板和寻找模板的相同过程。具体地谈谈基于HALCON的形状匹配算法的研究和心得总结。转载 2013-03-16 09:35:29 · 1691 阅读 · 0 评论 -
halcon自带检测路标实例注解
* This example shows an application case from the automobile* industry. A monitoring system in a car checks the sidewalk* for roadsigns to support the driver in case of any inattention.* To sho原创 2013-03-19 19:12:41 · 1279 阅读 · 1 评论 -
求区域最小外界矩形和外界圆
求一个区域最小外界矩形: smallest_rectangle2(Regions : : : Row,Column,Phi,Length1,Length2)Row和Column是矩形的中心Length1和Length2是生成的矩形宽度和高度的一半 求一个区域最小外界圆smallest_circle(Regions : : : Row,原创 2013-03-19 21:37:25 · 561 阅读 · 0 评论 -
获取Image图像中Region区域的特征参数 .
area_center_gray ( Regions, Image : : : Area, Row, Column ) 计算Image图像中Region区域的面积Area和重心(Row,Column)。cooc_feature_image ( Regions, Image : : LdGray, Direction : Energy,Correlation, Homogeneity转载 2013-03-18 20:51:30 · 719 阅读 · 0 评论 -
查询图像参数
1、get_grayval ( Image : : Row, Column : Grayval ) 计算Image图像中坐标为(Row,Column)的点的灰度值Grayval。2、get_image_pointer1 ( Image : : : Pointer, Type, Width, Height ) 计算Image图像的数据指针Pointer,图像类型Type,图像宽度转载 2013-03-18 20:35:26 · 528 阅读 · 0 评论 -
有关图像生成的函数 .
1、copy_image ( Image : DupImage : : )复制image图像2、region_to_bin ( Region : BinImage : ForegroundGray, BackgroundGray,Width, Height : )将区域Region转换为一幅二进制图像BinImage。ForegroundGray, BackgroundGray分别转载 2013-03-18 20:48:35 · 455 阅读 · 0 评论 -
有关图像通道的函数 .
黑白摄像机会返回每个像素所对应的能量采用结果,这些结果组成了一幅单通道灰度值图像,而对于RGB彩色摄像机,它将返回每个像素所对应的三个采样结果,也就是一幅三通道图像。下面这些是与图像通道有关的函数:1、access_channel ( MultiChannelImage : Image : Channel : ) 获取多通道图像MultiChannelImage的Channel通道的转载 2013-03-18 20:46:47 · 489 阅读 · 0 评论 -
摄像头获取图像和相关参数
1、close_all_framegrabbers ( : : : ) 关闭所有图像采集设备。2、close_framegrabber ( : : AcqHandle : ) 关闭Handle为AcqHandle的图像采集设备。3、open_framegrabber ( : : Name, HorizontalResolution,VerticalResolution转载 2013-03-18 20:39:29 · 584 阅读 · 0 评论 -
halcon函数
comment( : :Comment : ) 注释语句exit ( : : : ) 退出函数open_file ( : :FileName, FileType : FileHandle )创建('output' or 'append')或者打开 ( output)文本文件fwrite_string ( : :FileHandle, String : )写入stringdev_cl转载 2013-03-18 20:18:30 · 621 阅读 · 0 评论 -
halcon标定文件及注意事项
Halcon摄像机标定流程:第一步:初始化摄像机参数(内参)startCamPar=[f,k,Sx,Sy,Cx,Cy,NumCol,NumRow]f 焦距 即成像中心到成像平面之间的距离k 畸变,初始化为0.0 Sx 两个相邻像素点之间的水平距离Sy 两个相邻像素点之间的垂直距离Cx Cy 图像中心点位置NumCol NumRow 图像的长和原创 2013-03-18 15:52:45 · 1159 阅读 · 0 评论 -
使用Halcon助手来制作标定数据
正在摸索,不一定正确,待改进1打开halcon标定助手2.标定任务一栏,选择位姿和所有参数(此为默认情况);标定板一栏,则点击文件浏览,\clib\ 选择halcon自带的一个标定板文件(也可以自作一个标定板文件,使用gen_caltab算子);相机模型一般都是面扫面相机(参考书上说多使用多项式相机),线扫描相机一般用于运动测量 (???不确定这里),其他参数根据具体自行设置原创 2013-03-18 17:03:36 · 2008 阅读 · 0 评论 -
halcon模板匹配之形状匹配法
halcon有三种模板匹配方法:即Component-Based、Gray-Value-Based、Shaped_based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类本文只对形状匹配做简要说明和补充:Shape_Based匹配方法:上图介绍的是形状匹配做法的一般流程及模板制作的两种方法。原创 2013-04-24 11:02:27 · 3965 阅读 · 2 评论 -
一.halcon单摄像机标定
说明:In the reference manual,operator signatures are visualized in the following way:operator ( iconic input : iconic output : control input : control output )在HALCON所有算子中,变量皆是如上格式,即:图像输入:图像输出:控制输转载 2013-03-11 09:52:20 · 832 阅读 · 0 评论 -
Halcon表面划伤检测实例
* surface_scratch.hdev: extraction of surface scratches via local thresholding and morphological post-processing原图为: *关闭活动图形窗口 dev_close_window () * 在程序执行中指定输出行为为 off。 dev_update_window ('转载 2013-05-04 10:36:17 · 1898 阅读 · 1 评论 -
VC6.0和VS2008环境下配置halcon开发环境
VC6.01、Project菜单->Settings->Link,在Category下拉菜单下选择General,在此属性页中的Object/library modules下面添加halconcpp.lib静态库。 (主需要键入就可以了)2、 Project菜单->Settings->Link,在Category下拉菜单下选择Input,在此属性页中的Additional li原创 2013-05-02 20:34:29 · 3309 阅读 · 0 评论 -
图像分割
彩色图像转换decompose3函数的作用就是将一幅彩色图像分割成三通道的单色图rgb_to_gray的作用则是将一幅彩色图像直接转换成一幅灰度图像 图像分割阈值算子全局阈值 :threshold(image,region,mingray,maxgray)自适应阈值分割:auto_threshold(Image:Region,Sigma) 其中Sigma是用于对图像进行灰原创 2013-04-17 16:39:02 · 759 阅读 · 0 评论 -
彩色图像初级处理之halcon操作
彩色图像是由R、G、B三个通道组成的。 HSV通道: H即是色相,是图像的基本属性,就是平常所说的颜色,如黄色,红色等 0-360 饱和度S是指色彩的纯度,越高色彩越纯,低则逐渐变淡,去0-100% 明度V,亮度取值0-100%原创 2013-04-25 21:41:21 · 892 阅读 · 0 评论 -
halcon简单算子注解之图像读取
读取图像算子1读取单张图片时候,使用read_image直接读取2读取多张图片的时候: a,当读取某一目录下所有文件的时候,可以使用助手,选择路径读取,然后插入代码 实例如下: * Code generated by Image Acquisition 01 *遍历指定文件夹下所有原创 2013-04-17 09:56:51 · 1124 阅读 · 0 评论 -
halcon算子之图像变量
图像预处理算子: 消除噪声使用mean_image或者binomial_filter抑制小斑点或者细线使用median_image平滑图像使用smooth_image如果是既想平滑图像,又想保留边缘,则可以尝试使用anisotropic_diffusion 图形变量RegionRegion是符合某些性质的像素的子集Region结构是游程编码的一种变体游程(原创 2013-04-17 11:14:40 · 1391 阅读 · 0 评论 -
Halcon程序之区域分割和面积表示
* clip.hdev: Orientation of clips* *关闭动态显示窗口,这样只有在要显示的时候才打开,便于观察dev_update_window ('off')*读取图像到Clipread_image (Clip, 'clip')*获取Clip中图像的尺寸get_image_size (Clip, Width, Height)*关闭窗口dev_原创 2013-04-16 21:42:58 · 1469 阅读 · 2 评论 -
halcon程序最最基础的备注
程序的颜色:绿色:注释褐色:开发和控制算子蓝色:图像获取和处理算子浅蓝色:外部函数 算子具有很一般的结构算子(图像数据输入,图像数据输出,控制输入,控制输出)图像数据可以是Region,Image,XLD和数据Tuple Region 区域是一个图像的点集的集合,没有灰度值,类似于二值化图像,它的大小不收图像大小的限制 Halcon 助手,原创 2013-04-16 20:31:03 · 735 阅读 · 0 评论 -
一维条码读取
第一步:create_bar_code_model( : :GenParamNames,GenParamValues :BarCodeHandle) 例如:create_bar_code_model([ ],[ ],BarCodeHandle) 此步骤的主要目的是创建一个用来读取条形码的模板,这原创 2013-04-16 20:27:16 · 697 阅读 · 0 评论 -
二维条形码的读取
第一步:create_bar_code_model( : :GenParamNames,GenParamValues :BarCodeHandle) 此步骤的主要目的是创建一个用来读取条形码的模板,这是读取条形码的最先决的条件,该函数返回模板的句柄,后续的其他操作都是以这个句柄为基础的。第二步:set_bar_code_param(原创 2013-04-16 16:15:53 · 410 阅读 · 0 评论 -
halcon vc/mfc环境配置 之 halcon11
以vc6.0为例最后添加#include "HalconCpp.h"using namespace HalconCpp;转载 2013-03-17 16:51:11 · 1237 阅读 · 0 评论 -
基于1:1的图像匹配
* 在一个图片中获取ROI并在此图片中匹配dev_close_window ()dev_open_window (0, 0, 600, 600, 'black', WindowHandle)* 窗口语句read_image(Image,'L:/Halcon test/mk2.jpg')*read_image(Image,'L:/Halcon test/mk3.jpg')*r转载 2013-03-17 16:33:47 · 712 阅读 · 0 评论 -
一个用摄像头获取条形码并显示类型及解码的实例及每个步骤注解
* Code generated by Image Acquisition 03* 获取条形码,并计算及显示解码时间,并从规定读取的条码类型范围中读取被解码的条码类型,* 也可设置成不规定条码类型即自动识别,但会增加解码时间,甚至出现误读的情况。* 可读取多个不同类型的条码,并且多个条码用不同颜色的区域框区分,且读取出来的信息也以* 相应的颜色做区分dev_close_wind转载 2013-03-17 16:28:29 · 828 阅读 · 0 评论 -
八.依据点关系计算物体三维位姿Halcon
1.set_origin_pose( : :PoseIn,DX,DY,DZ: PoseNewOrigin)平移POSEIN的原点,输出为新的原点。注意,平移沿着OBJ的坐标新进行,而非沿着摄像机的坐标系进行。2.disp_3d_coord_system (WindowHandle, CamParam, Pose, 0.02)内部函数,显示世界坐系转载 2013-03-11 10:06:40 · 1533 阅读 · 0 评论 -
六.Halcon控制循环算子
条件 , 内为计算成an integer or boolean value的表达式。表达式的值1则条件为真,否则为假。1.if()。。。 endif:条件为真时,执行条件后的内容,否则转到endif.2.if ()...else...endif:条件为真,执行if...else部分,否则执行else...endif,典型的选择条件语句。3.elseif:相当于算子2的else部分,转载 2013-03-11 10:03:12 · 2752 阅读 · 0 评论 -
四.由标定板得到测量平面位姿
如图:由标定板位姿获取测量板位姿1.pose_to_hom_mat3d( : :Pose: HomMat3D)把三维位姿转化为齐次变换矩阵2.hom_mat3d_translate_local( : :HomMat3D,Tx,Ty,Tz: HomMat3DTranslate)相对于新坐标系的平移变换转载 2013-03-11 09:57:59 · 1098 阅读 · 0 评论 -
二.halcon基本语句---HDevelop language
1.Assign算子:assign(Input, Result),对变量以及表达式或数组赋值 assign(sin(x) + cos(y), u) which is displayed in the program window as: 程序窗等价为 u := sin(x) + cos(y) Tuple1 := [1,0,3,4,5,6,7转载 2013-03-11 09:54:05 · 569 阅读 · 0 评论 -
十七.Blob Analysis中的相关算子
对应BLOG十六例子中的相关算子:对应1.3.1例程序1的算子1.threshold(Image:Region:MinGray,MaxGray: )选择灰度值在最小和最大灰度之间的所有像素,输出又满足条件的所有像素点构成的区域。2.connection(Region:ConnectedRegions: : )计算输入区域中的联通分量,并输转载 2013-03-11 10:22:19 · 530 阅读 · 0 评论 -
十四.halcon学习之ROI(region of interest)
ROI区域对机器视觉而言尤为重要,可以大幅减少待处理的像素数,减少无谓的噪声影响,对图像匹配尤为有利,Halcon的ROIS是基于区域的处理,相对其他软件处理方法比较特殊且特别有效。本文记录学习halcon时与ROI相关的部分内容,既包括例程序又包括solution_guide说明的部分,后会编辑心得进入本文。 halcon创建区域的方式有传统的产生标准形状的方法;也可以从其他数据格式得到转载 2013-03-11 10:19:17 · 2073 阅读 · 0 评论 -
十二.图像获取与相关参数(halcon)(
图像获取程序例1.1.set_system( : : SystemParameter,Value : )设置系统参数2.open_framegrabber ( : : Name, HorizontalResolution,VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn,Field, B转载 2013-03-11 10:09:44 · 762 阅读 · 0 评论 -
十一.利用30mm标定板标定双目立体视觉系统
1.caltab_points( : :CalTabDescrFile:X,Y,Z)从标定文件中读取标定板坐标系中的标定点坐标2.binocular_calibration( : :NX,NY,NZ,NRow1,NCol1,NRow2,NCol2,StartCamParam1,Sta转载 2013-03-11 10:08:56 · 821 阅读 · 0 评论 -
七.图像校正Halcon
1.get_image_size(Image: : : Width,Height)返回图像的尺寸。2.parameters_image_to_world_plane_centered (CamParam, Pose, CenterRow, CenterCol, WidthMappedImage, HeightMappedImage, ScaleForCenteredImage,转载 2013-03-11 10:04:03 · 1287 阅读 · 0 评论 -
二十.1D Measuring(基础篇)
一.基本概念基本流程为:获取图像---对图像进行灰度值标定(针对相机获取的图像灰度和输入能量之间的非线性关系,获得相机对输入能量的线性函数)---排列感兴趣区域或图像---校正图像---创建测量句柄---进行测量---将测量结果转换到世界坐标系---结果可视化---释放测量句柄。二.典型相关算子:1.gen_rectangle2( :Rectangle : Row,转载 2013-03-11 10:25:54 · 614 阅读 · 0 评论 -
十九.Blob Analysis之三(一些例子)
算子:1.union1(Region: RegionUnion: : )计算所有输入区域的并集,并返回计算结果。2.skeleton(Region: Skeleton: : )求区域的骨架,即包含在区域内的滚动最大圆圆心轨迹。3.intensity(Regions,Image: : : Mean,Deviation)计算区转载 2013-03-11 10:24:24 · 455 阅读 · 0 评论 -
十.双目视觉系统标定
1.get_image_pointer1(Image: : : Pointer,Type,Width,Height)返回第一通道的点,图像数据类型,图像尺寸。2.disp_image(Image: : WindowHandle: )在输出窗口显示灰度图像3.visualize_results_of_find_marks_and_pose转载 2013-03-11 10:08:14 · 563 阅读 · 0 评论