Halcon常用算子(库函数)整理
目录
- 一. 常规操作类
- 1.1 tuple_length()
- 1.2 tuple_find_first()
- 1.3 tuple_gen_const()
- 1.4 dev_open_window( )
- 1.5 set_display_font()
- 1.6 dev_set_draw()
- 二. 机器视觉操作类
- 2.1 read_image()
- 2.2 get_image_size()
- 2.3 intensity()
- 2.4 zoom_image_factor()
- 2.5 median_image()
- 2.6 Gauss_filter()
- 2.7 fft_generic()
- 2.8 convol_fft()
- 2.9 sub_image()
- 2.10 binary_threshold()
- 2.11 area_center()
- 2.12 select_shape()
- 2.13 connection()
- 2.14 closing_circle()
- 2.15 overpaint_region()
- 2.16 union1 ()
- 2.17 threshold()
- 2.18 crop_part()
- 2.19 dual_threshold()
- 2.20 gen_circle_contour_xld()
- 2.21 gen_gauss_filter()
- 2.22 min_max_gray()
- 2.23 watersheds_threshold()
- 2.24 watersheds()
- 2.25 cooc_feature_image()
- 2.26 gray_range_rect()
- 2.27 gen_gabor()
- 2.28 mean_curvature_flow()
- 2.29 texture_laws()
- 2.30 bilateral_filter()
- 2.31 mean_image()
- 2.32 dyn_threshold()
- 2.33 create_ncc_model()
- 2.34 find_ncc_model()
- 2.35 create_shape_model()
- 2.36 get_shape_contours()
- 2.37 find_shape_model()
- 2.38 inspect_shape_model()
- 2.39 create_shape_model()
- 2.40 get_shape_contours()
- 2.41 create_shape_model()
- 2.42 invert_image()
- 2.43 add_image()
- 2.44 draw_circle ()
- 2.45 reduce_domain ()
- 2.46 create_template()
- 2.47 best_match()
- 2.48 add_channels()
- 2.49 pow_image()
新手在刚接触Halocon时往往不明所以,而官方文档上的解释又让初学者云里雾里,本文整理了halocon常用算子(库函数),供开发者快速查阅。
一. 常规操作类
1.1 tuple_length()
tuple_length(Area0,len)
数组里元素的个数
1.2 tuple_find_first()
tuple_find_first(Area0,sMax,i)
找到第一个是sMax的,返回索引
1.3 tuple_gen_const()
创建数组 tuple_gen_const( : : Length, Const : Newtuple)
1.4 dev_open_window( )
dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)
dev_open_window打开一个新的图形窗口,可以用来显示images,regions和lines等图形对象以及显示输出文本。
1.5 set_display_font()
set_display_font(:: WindowsHandle, Size, Font, Bold, Slant: )
用来设置当前窗口字体属性
WindowsHandle:将要设置字体窗口的窗口句柄
Size:字体大小
Font:字体名称
Bold:粗体
Slant:斜体
1.6 dev_set_draw()
dev_set_draw( : : DrawMode : )
dev_set_draw定义region的填充模式。
如果DrawMode设置为’fill’,region显示为填充,如果设置为’margin’,则只显示轮廓。 在’margin’模式下,轮廓的外观会受到dev_set_line_width,set_line_approx和set_line_style的影响。
二. 机器视觉操作类
2.1 read_image()
读取图片
2.2 get_image_size()
获取图片尺寸
2.3 intensity()
Regions (input_object) region(-array) → object
Regions in which the features are calculated.
计算特征的区域。
Region:输入的被计算的区域
Image:输入灰度图
Mean:输出区域的平均灰度值
Deviation:输出区域内灰度值的偏差(方差)。
2.4 zoom_image_factor()
zoom_image_factor(Image, ImageZoomed, 0.15, 0.125, ‘constant’)
高斯降采样。
2.5 median_image()
median_image (Image, ImageMedian, ‘circle’, 2, ‘mirrored’)
Image:输入图像
ImageMedian:输出图像
参数3:掩码的形状 ‘circle’ 圆; ‘square’ 正方形
参数4: 掩码半径
参数5:边界处理。建议值: ‘mirrored’, ‘cyclic’, ‘continued’, 0, 30, 60, 90, 120, 150, 180, 210, 240, 255
2.6 Gauss_filter()
gauss_filter (Image, ImageGauss, 9)
Image:输入图像
ImageGauss:输出图像
参数3:过滤器大小;建议值: 3, 5, 7, 9, 11
2.7 fft_generic()
空间域和频域之间的转换,主要有如下两个关键算子rft_generic()、fft_generic()。
这两个算子的共同点:
1.这两个算子都是进行快速傅里叶变换的算子
2.这两个算子都可以进行空间域-》频域和频域-》空间域的变换,只需要针对参数Direction分别进行选择,‘to_freq’是进行的是空间域-》频域的变换,‘from_freq’是频域-》空间域的变换。
3.rft_generic算子的输入图像是实值函数,fft_generic的输入图像是复数函数;从输出的结果来看,rft_generic只需要计算和存储了左半边的复数图像信息就可以了,因为右半边是共轭对称的。因此从最终的输出我们可以看到,只有左上和左下有DC成分。而fft_generic如果设定的是原点在左上角,那么就会在四个角上有DC成分。
4.fft_generic算子可以通过参数Mode设置原点的位置:如果设置的是’dc_edge’,那么原点在左上角;如果设置的是’dc_center’,那么就会将原点平移到中心位置。fft_generic算子一般会设置为’dc_center’。对于rft_generic算子,因为没有设置项,所以默认原点位置为左上角。
5.针对同一个图像,进行空间域-》频域、频域-》空间域的转换的时候,如果使用的是rft_generic算子,那么两个转换就都使用该算子;如果使用的是fft_generic算子,那么两个转换也都使用该算子,在对同一个图像进行空间域和频域的相互转换时,不要交叉使用这两个算子。
当然,从空间域到频域的转换,也可以使用算子fft_image,这个算子也是快速傅里叶变换,其实际效果相当于:
fft_generic(Image,ImageFFT,‘to_freq’,-1,‘sqrt’,‘dc_center’,‘complex’)
Image:输入图像
ImageFFT(out) :傅里叶变换输入图像
Direction:计算正向或反向变换。‘to_freq’是空间域—>频域的变换,ResultType一般选择’complex’;‘from_freq’是频域—>空间域的变换,ResultType一般选择’byte’(灰度图像)。
Norm:变换的归一化因子
ResultType:输出图像的图像类型,配合Direction参数设置
原理:其实gen_gauss_filter得到的滤波器,就是一个图像,虽然是频域滤波器,但是单纯看物理意义,他就是一个图像。与时域空间卷积核的物理意义是相同的。对这幅频域图进行卷积(卷积过程与时域无差别),卷积之后图像就产生了变化,比如外环得到减弱,内环得到保留(高低通滤波器的效果),或者在某个方向上得到保留(gabor滤波器的效果),再还原到时域,发现跟原图变化很大。
2.8 convol_fft()
频域的乘法相当于空间域的卷积:
convol_fft (ImageFFT, ImageGauss, ImageConvol)
一个重要的经验结论:低频代表图像整体轮廓,高频代表了图像噪声,中频代表图像边缘、纹理等细节。
1.具有一定纹理特征的图像,纹理可以理解为条纹,如布匹、木板、纸张等材质容易出现。
2.需要提取对比度低或者信噪比低的特征。
3.图像尺寸较大或者需要与大尺寸滤波器进行计算,此时转换至频域计算,具有速度优势。因为空间域滤波为卷积过程(加权求和),频域计算直接相乘。
使用频域进行检测,有两个步骤是比较关键的:
1.一个是生成合适的滤波器;
2.一个是空间域和频域之间的转换。
2.9 sub_image()
sub_image(ImageMinuend , ImageSubtrahend : ImageSub : Mult , Add
HALCON常用算子(HALCON13.0) Chapter 9--Develop dev_clear_window ( : : : )功能:清除活动图形窗口的内容 dev_close_window ... ** Halcon常用算子解释笔记 ** 一.机器视觉所包含的部分 学科:数学.图像.软件.光学 1 光源 (照明系统) 2 镜头 (光学成像) 3 相机 (光电捕捉) 4 软件 (图像处理与决策模块 ... Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训 ... <zw版·Halcon-delphi系列原创教程> zw版-Halcon常用函数Top100中文速查手册 Halcon函数库非常庞大,v11版有1900多个算子(函数). 这个Top版,对 ... c++常用面试题整理 目录 开头.学好C++需要哪些知识 第一部分. c++ 基础 1.C和C++的区别 2.C++中指针和引用的区别 3.结构体struct和共同体union(联合)的区别 4.st ... Halcon常用的几种阈值分割 1.threshold(Image : Region : MinGray, MaxGray : ) 2.binary_threshold(Image : Region ... 目录 总结 Flink-SQL常用算子 SELECT WHERE DISTINCT GROUP BY UNION 和 UNION ALL JOI ... 目录 常用算子 基本算子 分区操作函数算子 重分区函数算子 1).增加分区函数 2).减少分区函数 3).调整分区函数 聚合函数算子 Scala集合中的聚合函数 ... SAP常用BASIS技巧整理 https://blog.csdn.net/edifierliu/article/details/5342578 1.创建一个新的用户 完成client创建和拷贝后,在开 ...Halcon常用算子(库函数)整理相关推荐
最新文章
热门文章