![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
halcon
caiqi1123
caiqi1123
展开
-
Halcon标定板规格
图一: 30*30 规格的标定板的规格 黑色圆点行数: 7 黑色圆点列数: 7 外边框长度: 30mm*30mm 内边框长度: 28.125mm*28.125mm 即:黑色边框线宽为一个圆点半径(0.9375) 黑色圆点半径: 0.9375mm 圆点中心间距: 3.75mm 裁剪宽度: 30.75mm*30.75mm原创 2014-04-26 14:45:59 · 4406 阅读 · 0 评论 -
Halcon学习(二十六)dev_get_preferences的用法
dev_get_preferences和dev_set_preferences经常一起使用。dev_get_preferences为查询HDevelop参数。'graphics_window_context_menu':Returns whether a right click into the graphics window opens a context menu or not转载 2013-07-20 09:09:06 · 2114 阅读 · 0 评论 -
Halcon学习(二十五)if、switch和try
halcon中的选择语句的用法。作者:骑蚂蚁上高速MATLAB提供三种选择结构,分别是if语句、switch语句和try语句。1.if语句在MATLAB中,if语句有3种格式。(1)单分支if语句:if 条件语句组end当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。(2)双分支if语句:if转载 2013-07-20 09:06:20 · 13059 阅读 · 0 评论 -
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转载 2013-07-20 09:05:11 · 7958 阅读 · 0 评论 -
Halcon学习(二十三)标定助手
本文采用halcon标定助手进行标定。 作者:骑蚂蚁上高速第一步:打开标定助手。第二步:对描述文件进行修改具体:打开算子窗口,输入gen_caltab,进行描述文件修改。参数XNum和YNum为7行*7列的圆,Markdist为圆的直径,单位为米。DiameterRatio为圆的直径与两个相邻的圆之间的距离比。修改完之后,应用,输转载 2013-07-20 09:02:14 · 7157 阅读 · 2 评论 -
Halcon学习(二十一)摄像机标定常用函数(二)
1.read_cam_par( : : CamParFile : CameraParam)从文件夹中读取相机的内参数。2.disp_caltab( : : WindowHandle, CalTabDescrFile, CameraParam, CaltabPose, ScaleFac : )利用相机内外参数,把标定板模型投影到图像平面,显示标定点和连接线,X,Y轴也转载 2013-07-20 08:52:57 · 4391 阅读 · 0 评论 -
Halcon学习(十九)标定文件的生成
Halcon标定文件的生成,需要有以下几个步骤:1.创建一个标定数据模板,由create_calib_data算来完成。2.指定相机的类型,初始化相机内部参数,由set_calib_data_cam_param算子来完成。3.指定标定板的描述文件,由set_calib_data_calib_object算子完成。4.收集观察数据,有算子set_calib_data_转载 2013-07-20 08:52:16 · 3031 阅读 · 0 评论 -
halcon之学习----框架
1、“1”中的控制是hdevelop语言的控制语句;2、“1”中的开发是hdevelop集成开发环境中的一些界面方面的操作3、“2”是halcon算子,即功能函数。他是独立于hdevelop,可以被任何语言调用(c,c++,vb,.net....)。可以把“2”理解为windows系统的中的DLL。备注:halcon就是这样的功能函数封装体(类似于DLL)的名称;hdevelop类原创 2013-07-04 16:57:46 · 3843 阅读 · 0 评论 -
Halcon学习(七)图像中显示文字
在图像中显示文字,数字等文本。* ball.hdev: Inspection of Ball Bondingdev_update_window ('off')dev_close_window ()dev_open_window (0, 0, 728, 512, 'black', WindowID)read_image (Bond, 'die/die_03')dev_disp转载 2013-07-19 18:24:48 · 25910 阅读 · 0 评论 -
Halcon学习(九)两幅图像之间处理
1.sub_image(ImageMinuend,ImageSubtrahend:ImageSub:Mult,Add: )对两幅图像做减法 g' := (g1 - g2) * Mult + Add程序如下: read_image (Scene00, 'autobahn/scene_00')read_image (Scene01, 'a转载 2013-07-20 08:41:27 · 7028 阅读 · 0 评论 -
Halcon学习(十三)参数和数据结构
HALCON 有两种基本的数据型态 : 图像数据 (iconic ,例如影像 ) 以及控制数据 ( control ,例如 变量,整数,字符串, handle 等等 ) 。所有运算子的参数都是以相同的方式排列:输入图像,输出图像,输入控制,输出控制。 当然,并非所有的运算子都具有上列四类参数,不过参数排列的次序依旧相同。ROI :影像中要处理的数据范围。region 即是一堆转载 2013-07-20 08:45:31 · 1180 阅读 · 0 评论 -
Halcon学习(十四)绘图
用halcon提供的算子进行简单形状的图形绘制。同时学习一下 gen_rectangle1 和 gen_rectangle2 的两个算子之间的区别。程序如下:dev_update_off ()Dark := 100Background := 175Light := 250gen_image_const (Image, 'byte', 256,转载 2013-07-20 08:47:53 · 6417 阅读 · 0 评论 -
Halcon学习(十八)如何制作标定板
下面我具体介绍一下,如何制作halcon的标准标定板方法一:用halcon软件自动生成的.ps文件来制作标定板。 这个也是最简单有效的方法。 打开halcon 的HDevelop软件,调用算子:gen_caltab( : : XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile :转载 2013-07-20 08:50:21 · 7950 阅读 · 0 评论 -
halcon加载图片到mfc
halcon加载图片到mfc中实际上和直接加载图片到MFC是有很大的区别。 halcon加载图片到MFC实际流程是这样的:1. halcon在mfc窗口上面打开一个halcon窗口。halcon生成的窗口依附在mfc上,看起来就像MFC窗口的一部分。open_window(10,10,1024,768,(Hlong)showwin,"visible","",&CPPExpDefault转载 2014-05-05 22:40:18 · 2157 阅读 · 0 评论 -
halcon在MFC界面显示视频方法
1、建立MFC对话框工程(假设工程名为XX)。2、在介面中新开一个图像控件(ID假设为IDC_STATIC_FGWIN).(1)在XXDlg.h文件中添加控件变量 //{{AFX_DATA(CDisp_imageDlg)......................CStatic m_cFGWinStatic;// 要添加的语句........................转载 2014-05-05 22:36:29 · 3621 阅读 · 0 评论 -
关于halcon学习的笔记
HDevelop环境下:不等于的运算符是#。[]符号:HDevelop环境下:Tuple类型的下标是0开始。Object类型是1开始 C++环境下:下标都是从0开始。解决halcon具有该设备类型的驱动,但又驱动不了设备的方法。1.安装FirePackage驱动。2、运行InstallDriver.exe切换成第三方驱动。3、重新运行halcon程序即转载 2014-05-05 21:17:56 · 3016 阅读 · 0 评论 -
基于HALCON的模板匹配方法总结
基于HALCON的模板匹配方法总结 很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优化进行了研究,写了一篇《基于HDevelop的形状匹配算法参数的优化研究》文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配转载 2014-05-03 22:46:11 · 3090 阅读 · 0 评论 -
Halcon学习(二十二)摄像机标定(函数详解)
摄像机标定程序:注意:E:/calibration_image :为标定图像文件路径 'E:/calibration_description/caltab_123mm.descr:为标定描述文件路径*作者:骑蚂蚁上高速*程序开始list_files ('E:/calibration_image', 'files', ImageFiles)TmpCtrl转载 2013-07-20 08:54:10 · 8090 阅读 · 0 评论 -
Halcon学习(二十)摄像机标定常用函数(一)
在HALCON所有算子中,变量皆是如上格式,即:图像输入:图像输出:控制输入:控制输出,其中四个参数任意一个可以为空。控制输入量可以是变量、常量、表达式,控制输出以及图像输入和输入必须是变量,以存入算子计算结果中。1.caltab_points:从标定板中读取marks中心坐标,该坐标值是标定板坐标系统里的坐标值,该坐标系统以标定板为参照,向右为X正,下为Y正,垂直标定板向下为Z正。该算子转载 2013-07-20 08:51:20 · 2945 阅读 · 0 评论 -
Halcon学习(五)获取特征点
这个例程是要检查图中焊接点,并获取焊接点的直径。 处理过程:首先,分离比较明亮的区域,然后将找出来的结果,转换成最小的平行矩形,即获得了图像处理的ROI。 这里采用了阈值分割:将图像中的灰度值处于某一指定灰度值范围内全部点选到输出区域中。threshold (Bond, Bright, 100, 255)然后,在ROI区域内选择比较暗的区域,移除不适合的区域(利用形状,转载 2013-07-19 18:20:13 · 5706 阅读 · 0 评论 -
Halcon学习(四)区域连通
Halcon中的区域连通算子( 区域连通算法,将图象被分割为区域 ): regiongrowing(Image :Regions :Row,Column,Tolerance,MinSize : ) Row:被测试的区域的垂直距离 Column:被测试的区域的水平距离 Tolerance:两个点之间的最大的灰度差距:|g_1 - g_2| MinSi转载 2013-07-19 18:17:37 · 13897 阅读 · 0 评论 -
Halcon学习(三)赋值与数组操作
assign : 对数据赋值,对数组的初始化。但不能对数组中的某一个值进行赋值。 举例:Tuple1 := [1,0,3,4,5,6,7,8,9] // 对数组进行初始化 Val := sin(1.2) + cos(1.2) // 对某一个值进行赋值 Tuple2 := []转载 2013-07-19 18:15:21 · 27668 阅读 · 0 评论 -
Halcon学习(二)图像获取与相关参数
图像获取程序例1.1.set_system( : : SystemParameter, Value : )设置系统参数2.open_framegrabber ( : : Name, HorizontalResolution,VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn,Field, BitsPerC转载 2013-07-19 18:12:12 · 6059 阅读 · 0 评论 -
HALCON 算子函数(十三) Object
HALCON 算子函数——Chapter 13 : Object13.1 Information1. count_obj功能:统计一个元组中的对象。2. get_channel_info功能:一幅目标图像组成部分的信息。3. get_obj_class功能:一副目标图像类的名称。4.test_equal_obj功能:比较目标图像的平等性。5. test_ob转载 2013-07-19 18:09:23 · 4968 阅读 · 0 评论 -
HALCON 算子函数(十一) Morphology
HALCON算子函数——Chapter 11 : Morphology11.1 Gray-Values1. dual_rank功能:打开、取中值和关闭圆和矩形掩码。2. gen_disc_se功能:为灰度形态学生成椭圆结构基础。3. gray_bothat功能:执行一个图像的一个灰度值bottom_hat变换(原图像和它的闭之间的差)。4. gray_closi转载 2013-07-19 18:07:57 · 3932 阅读 · 0 评论 -
HALCON 算子函数(二) Control
HALCON 算子函数——Chapter 2 : Control1.assign功能:为一个控制变量分配一个新值。2.break功能:终止循环执行。3. comment功能:向程序添加一行注释。4. continue功能:跳过现在的循环执行。5. else功能:条件语句的替换。6. elseif功能:可选择的条件语句。7. endfor功能:转载 2013-07-19 17:59:05 · 983 阅读 · 0 评论 -
halcon对tuple处理的算子与hdevelop的对应关系
7.9 Summary of HDevelop operationsFunctionality HDevelop Operation HALCON operator concatenation [t1,t2] tuple_concatnumber of原创 2013-06-27 22:29:58 · 3094 阅读 · 0 评论 -
Halcon与C++
参考地址:http://tsindahui.blog.sohu.com/151668003.html1. 从Halcon到VC++ read_image(&Image,"文件名");//读入的为灰度图像 //获取图像指针,注意输出变量的类型char lpcsType[MAX_STRING];Hlong Pointer,Width, Height;ge转载 2013-06-16 16:33:19 · 2802 阅读 · 0 评论 -
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-06-04 16:51:48 · 3775 阅读 · 0 评论 -
Opencv 转成Halcon格式
Hobject IplImageToHImage(IplImage *img){ char messege[1024]; Herror HalconError; Hobject Hobj; //IplImage *img = cvLoadImage("d:/04.jpg", 0); HalconError=gen_image1(&Hobj,"byte",img->widt转载 2013-06-12 22:17:43 · 3159 阅读 · 0 评论 -
Halcon学习(六)计数与排序
在 Halcon 里面计算个数的算子有两个:1、count_obj ( Objects : : : Number ) 主要用法是计算objects 的个数。2、assign ( : : Input : Result ) 给控制变量分配新值例: NumBalls := |Radius|区别 是 Count_obj 主要是用来计算被识别出来的区域的个数 Assign转载 2013-07-19 18:23:42 · 15620 阅读 · 0 评论 -
Halcon学习(八)文本操作
1.open_file( : :FileName,FileType:FileHandle)FileType:'output':创建文本‘append':在原有的文本基础上写入该文件'input':打开文件2.fwrite_string( : : FileHandle,String: )写入文件3.fnew_line( : :转载 2013-07-19 18:25:58 · 4725 阅读 · 0 评论 -
HALCON 算子函数(一) Classification
HALCON 算子函数——Chapter 1 : Classification1.1 Gaussian-Mixture-Models1.add_sample_class_gmm功能:把一个训练样本添加到一个高斯混合模型的训练数据上。2.classify_class_gmm功能:通过一个高斯混合模型来计算一个特征向量的类。3. clear_all_class_gmm功能:转载 2013-07-19 17:57:56 · 1288 阅读 · 0 评论 -
Halcon学习(一)读取多张图片
从今天开始每天学习halcon软件。本博客中所用版本均为halcon11.0。第一种方法ImagePath:=[]ImagePath[0]:='E:/images1/a000.bmp'ImagePath[1]:='E:/images1/a001.bmp'ImagePath[2]:='E:/images1/a002.bmp'ImagePath[3]:='E:/imag转载 2013-07-19 18:11:30 · 6282 阅读 · 3 评论 -
HALCON 算子函数(十二) OCR
HALCON 算子函数——Chapter 12 : OCR12.1 Hyperboxes1. close all ocrs功能:删除所有光字符,释放存储空间,但会丢失所有的测试数据。2. close ocr_功能:重新分配拥有OcrHandle数目的分级器的存储,但所有相应的数据会丢失,不过这些数据可由write ocr事先保存。3. create ocr clas转载 2013-07-19 18:08:40 · 2410 阅读 · 0 评论 -
HALCON 算子函数(十) Matching-3D
HALCON 算子函数——Chapter 10 : Matching-3D1. affine_trans_object_model_3d功能:把一个任意有限3D变换用于一个3D目标模型。2. clear_all_object_model_3d功能:释放所有3D目标模型的内存。3. clear_all_shape_model_3d功能:释放所有3D轮廓模型的内存。4. c转载 2013-07-19 18:07:11 · 3879 阅读 · 1 评论 -
HALCON 算子函数(九) Matching
HALCON 算子函数——Chapter 9 : Matching9.1 Component-Based1. clear_all_component_models功能:释放所有组件模型的内存。2. clear_all_training_components功能:释放所有组件训练结果的内存。3. clear_component_model功能:释放一个组件模型的内存。转载 2013-07-19 18:06:27 · 2523 阅读 · 0 评论 -
HALCON 算子函数(七) Image
HALCON 算子函数——Chapter 7 : Image7.1 Access1. get_grayval功能:获取一个图像目标的灰度值。2. get_image_pointer1功能:获取一个通道的指针。3. get_image_pointer1_rect功能:获取图像数据指针和输入图像区域内最小矩形内部的图像数据。4. get_image_pointer3转载 2013-07-19 18:05:33 · 2569 阅读 · 1 评论 -
HALCON 算子函数(五) Filter
HALCON 算子函数——Chapter 5 : Filter5.1 Arithmetic1. abs_image功能:计算一个图像的绝对值(模数)。2. add_image功能:使两个图像相加。3. div_image功能:使两个图像相除。4. invert_image功能:使一个图像反像。5. max_image功能:按像素计算两个图像的最大值。转载 2013-07-19 18:04:46 · 5047 阅读 · 0 评论 -
HALCON 算子函数(六) Graphics
HALCON 算子函数——Chapter 6 : Graphics6.1 Drawing1. drag_region1功能:一个区域的交互运动。2. drag_region2功能:一个带有定点规格区域的交互运动。3. drag_region3功能:一个带有限制位置区域的交互运动。4. draw_circle功能:一个圆的交互绘图。5. draw_circle转载 2013-07-19 18:02:25 · 2425 阅读 · 0 评论