题目:halcon的数据类型
作者:李黛色
功能:halcon基础语法
个人学习记录,如有错误,欢迎更正。
两类参数:
1、图形参数Iconic (image, region, XLD)
2、控制参数Control (string, integer, real, handle)
0.算子
Halcon算子的参数中,
算子operator:执行特定图像处理任务的函数和命令。
语法,依次为:
(输入图形参数、输出图形参数、输入控制参数、输出控制参数;)
注意:输入参数不会被算子改变。
halcon图像的一些基本数据结构:
1.图形参数
- image : 图像
a. halcon的图像类型,矩阵数据组成,矩阵每个值表示一个像素。
b. 每一个像素包含的信息不同,通常将图像分为:二值图像、灰度图像、rgb图像。
c. image type: Byte complex cyclic direction int1 int2 int4 int8 uint2 real
- region : 区域
a. 图像的一块区域
b. 该区域数据由点的坐标组成,表达的意义类似于一个范围
c. 可以用region创建一个感兴趣区域ROI(region of interset)
d. 形状任意,可以含洞,可以不连续点
- xld : 亚像素轮廓
a. 区域的轮廓,region边缘的连续的点组成。
b. 为什么需要亚像素精度,图像Image和区域region这些数据结构是像素精度。
c. 边缘轮廓分两种:
ⅰ. Contours轮廓,是一系列的点连接,点之间的距离大约是一个像素
ⅱ. Polygons多边形,点之间的距离较大,是用最少的线来描述这个轮廓
d. 是一个轮廓函数,不是基于像素,可以精确到像素点内部的一种描述。
对比region 和 xld
region,边是用每个小方块(像素)组成的
xld,线和每个像素(小方块)会有不同的交点,haolcon自己算
2.控制参数
- string : 字符串
a. 单引号包裹
- integer :整数
- float :浮点数
- 布尔值 :true/false 1/0
- real : 实数
- tuple :元组
a. 用于存储图像,一副或多幅图片
b. 其中的数据类型,控制类型:整型、实数型、字符串型,可混搭;
c. 注意:数据为iconic参数类型时,最小索引是1;当为Control参数类型时,最小索引是0。
d. 例子:[1,'abd',3.14,image]
- handle : 句柄
a. 标识符ID(唯一),引用某个已打开的资源或管理
b. 用于管理窗口、文件等资源
c. 管理一组复合数据的变量
d. 例子:dev_open_windows() 算法返回窗口句柄
e. 例子:窗口、保存创建的模板、采集相机等均以handle来标识要操作的对象
3.变量声明与赋值
- 变量无需声明
- 直接使用 := 赋值
- 变量名区分大小写
- 首字母不能是数字
- 例子:
a. a := 1
b. b := 'hello'
c. image := read_image()
4.名词注释
图像 :图像的本质是矩阵。
像素 :图像放大到极致后可以看到一个最小的,单色的正方形方块,这叫一个像素。
矩阵 :的每个元素就是该点像素方块的灰度值。
灰度 :表征亮度的量;
灰度值 :灰度0为黑,255为白(0为黑,1为白)。
分辨率 :图像宽高的信息。横向有多少像素点,纵向有多少像素点。
通道 :图像的颜色如何表示?相当于叠图。RGB
亚像素 :
亚像素 Sub Pixel,面阵摄像机的成像面以像素为最小单位。
宏观上,两个像素之间有5.2微米的距离,可以看作是连在一起的。
微观上,它们之间还有无限的更小的东西存在。这个更小的东西我们称它为“亚像素”。
参考文章:
- https://zhuanlan.zhihu.com/p/471507066
- https://blog.csdn.net/zxmyoung/article/details/122238144
- https://blog.csdn.net/laoyao54/article/details/51496065
- https://baike.baidu.com/item/亚像素/7904986
- https://www.qinglite.cn/doc/10076476352491b16
总结:千锤万凿出深山
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除 |