halcon的数据类型

勇哥发现频域用高斯模糊滤波后再转时域后的图片,居然阈值取的负数范围。
这才意识到一个知识的盲点。
这个盲点就是halcon的数据类型,紧急在这里补上一课:


两大类:

1、图形参数(之前勇哥称为图标变量)Iconic (imageregionXLD)

2、与控制参数Control (string, integer, real, handle),


在Halcon算子的参数中,依次为:输入图形参数、输出图形参数、输入控制参数、输出控制参数;并且其输入参数不会被算子改变。


1、图形参数Iconic:

(1)Images

在Halcon中,Image = Channel + Domain(定义域) , 像素点存放在Channel矩阵中,根据ROI来描述Image。

Image相关操作:

输入:从文件、从设备

生成:外部图像数据、空内存区域;

显示:disp_image()图像首通道灰度图;disp_color() 彩色图;disp_channel()某特定通道;disp_obj() 自动判别类别;

缩放:set_part() 设置显示区域;set_part_style() 设置显示参数;

说明:

Ø Multiple channels //多通道图像,可以是灰度图像或RGB图像

Ø Arbitrary region of interest //ROI区域图像

Ø Multiple pixel types


int1/2/4,real, complex, direction, cyclic, vector_field)

byte, //标准灰度图像的标准编码

uint2, 16位无符号;标准的灰度图像会用这种类型

int1,  8位有符号;两帧图像的差异会用这种类型

 int2 //Difference of two images or derivates with integer precision(??) 16位有符号;两帧图像的差异会用这种类型

int4 //两幅灰度图的频谱会用到这种类型; 32位有符号数

direction //图片边缘的梯度方向;边缘梯度会用这种类型,8位无符号;值为0-179

real //边缘提取及特定灰度值的轮廓会用到这种类型; 32位浮点类型

complex //每个像素用2个real值;用频率表示图像用这种类型;图片频率分布

cyclic //Assigning one "gray" value to each color(??)8位无符号;给每个颜色分配灰度值

vector_field //两帧real类型的图像,描述X或者Y方向的运动;连续图形的光学流分布


另外,多种图片类型间使用convert_image_type算子进行转换:

convert_image_type(Image:ImageConverted:NewType:)

作用:转换图像数据类型,默认读取的图像时byte类型,此算子能转换成real(实数)图像数据类型。数据类型支持很多NewType:'int1''int2''unit2''unit4''int8''byte''real''direction''cyclic''complex'


(2)Regions

行列坐标形式储存,有广泛的应用,特点是高效,可利用同态算子。比如用阈值对图像分割的结果,其他系统中称为BOLB,AREA等。

(3)Extended Line Description (XLD)

图像均用像素点保存,而像素点是整型的,不连续的,Halcon做了拓展,定义了亚像素(subpixel)的描述几何轮廓的对象:xld,主要用在亚像素测量的背景下,可用于如提取边缘、构建轮廓等等,xld在模板匹配、图形校准等多方面有重要的用途。

说明:

Subpixel accurate line and edge detection(亚像素精度的线和边缘检测)

Generic point list based data structure(依据数据结构产生点的表)

Handling of contours, polygons, lines, parallels, etc.(对轮廓,多边形,线等进行操作)

2、控制参数Control:

String类型变量由单引号’括起来;此外还有一些特殊字符;

Boolean型变量包括 true ( = 1 )、 false ( = 0 ) ;不为零的整数将被认为true;但绝大多数的Halcon函数接受字符串型的表达:’true’‘false’,而非逻辑型表达;

此外,Halcon支持的类型还包括图形元组、控制变量元组及句柄:

元组的概念,使得可以用一个变量传递数个对象,可以由重载后的函数来进行处理;图形元组的下标从1开始,控制变量元组下标从0开始;句柄则可以用来描述窗体、文件等等,句柄不能是常量。



--------------------- 

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!

本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864