Halcon
Halcon使用笔记
CHAO_^
这个作者很懒,什么都没留下…
展开
-
Halcon C显示图片
# include "HalconC.h"# include "halconc/Hdevthread.h"int main(int argc, char *argv[]){ /* Default settings used in HDevelop */ int ret = 0; Htuple Parameter, Value;//#if defined(_WIN32) set_system("use_window_thread", "true");#el...原创 2021-07-11 22:53:56 · 256 阅读 · 0 评论 -
Halcon:二维仿射变换
二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。Halcon中进行仿射变换的常见步骤如下:1.通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0, 0.0, 0.0, 0.0, 1.0, 0.0]);2.在初始化矩阵的基础上,使用hom_mat2d_translate(平移)、hom_mat2d_rotate(旋转)、hom_mat2d_scale(缩放)等生成仿射变换矩阵;(这几个算子.原创 2021-03-11 17:23:00 · 624 阅读 · 0 评论 -
Halcon 显示设置
dev_set_draw( : : DrawMode : )如果Draw被设置为‘fill’,regions被填充显示,如果被设置为‘margin’,regions仅显示轮廓。dev_close_window( : : : )关闭所有活动窗口。dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)打开窗口,设置窗口的尺寸,背景,并获得窗口的handle。dev_set_c...原创 2021-01-29 20:29:53 · 4165 阅读 · 2 评论 -
Halcon 瑕疵检测(一)
1. 划痕检测read_image (Image, 'surface_scratch')invert_image (Image, ImageInverted)get_image_size (Image, Width, Height)gen_sin_bandpass (ImageBandpass, 0.4, 'none', 'rft', Width, Height)rft_generic (ImageInverted, ImageFFT, 'to_freq', 'none', 'comple原创 2020-11-21 00:25:36 · 1847 阅读 · 0 评论 -
Halcon 图像,轮廓,区域之间的相互转换
区域转轮廓方法1:gen_contour_region_xld(Regions:Contours:Mode: )方法2:skeleton (Region2, Skeleton2)gen_contours_skeleton_xld (Skeleton2, Contours, 1, 'filter')轮廓转区域方法一:gen_region_contour_xld(Contour : Region : Mode : )其中,Mode参数...原创 2020-11-21 00:25:22 · 6428 阅读 · 0 评论 -
Halcon:c++异常处理
try{ //run halcon function in c++}catch (HException &exception){ fprintf(stderr," Error #%u in %s: %s\n", exception.ErrorCode(), (const char *)exception.ProcName(), (const char *)exception.ErrorMessage());}原创 2020-09-16 12:59:53 · 1012 阅读 · 0 评论 -
Halcon contour相关操作
返回轮廓包含的点序列get_contour_xld (Line, Row, Col)计算轮廓属性get_contour_attrib_xld(Contour : : Name : Attrib)形状拟合圆拟合fit_circle_contour_xld(Contours : : Algorithm, MaxNumPoints, MaxClosureDist, ClippingEndPoints, Iterations, ClippingFactor : Row, Colu..原创 2020-11-21 00:25:10 · 2235 阅读 · 0 评论 -
Halcon:Region相关操作
1. 联合操作union1(Region : RegionUnion : : )将多个region合并为一个整体union2(Region1, Region2 : RegionUnion : : )将两个region合并为一个整体2. 计算连通域connection(Region : ConnectedRegions : : )得到一系列连通域,是union的反向操作。3. 区域选择根据一定的条件,包括面积,位置,形状等属性select_shape(Regio..原创 2020-08-19 19:47:22 · 2988 阅读 · 0 评论 -
Halcon:Image相关操作
1.创建空白图像创建单通道图像gen_image_const( : Image : Type, Width, Height : )创建一个具有特定灰度值的图像gen_image_proto(Image : ImageCleared : Grayval : )2.合并通道gen_image_const(Image,'byte',512,512)gen_image_proto(Image,ImageCleared1,255)gen_image_proto...原创 2020-07-27 20:27:26 · 2717 阅读 · 0 评论 -
Opencv&Halcon混合编程
前言Halcon 具备一些非常强大的算子,特别是其中的模板匹配功能,因此在建立自己的解决方案时,灵活的运用Halcon与OpenCV往往会事半功倍。1. 编写halcon代码以halcon中的find_scaled_shape_model为例。2. 导出halcon代码到C++删除掉被宏定义注释的代码,主要关注action函数里面的代码。删除窗口显示相关代码。3. 头文件和库文件添加头文件和库文件路径将DLL文件拷贝到可执行文件目录下4...原创 2020-05-23 17:30:44 · 2425 阅读 · 0 评论