halcon_01_HALCON基础语法变量与数据类型
题目: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
总结:千锤万凿出深山
halcon_01_HALCON基础语法变量与数据类型的更多相关文章
- Java编程基础——常量变量和数据类型
Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...
- openresty开发系列13--lua基础语法2常用数据类型介绍
openresty开发系列13--lua基础语法2常用数据类型介绍 一)boolean(布尔)布尔类型,可选值 true/false: Lua 中 nil 和 false 为"假" ...
- java(二、基础语法和基本数据类型)
Java 基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一 ...
- Java基础语法和基本数据类型
Java基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 对象:对象是类的一个实例,有状态(属性)和行为(方法). 类:类是一个模板,他描述一类对象的行为 ...
- javascript基础语法——变量和标识符
× 目录 [1]定义 [2]命名规则 [3]声明[4]特性[5]作用域[6]声明提升[7]属性变量 前面的话 关于javascript,第一个比较重要的概念是变量,变量的工作机制是javascript ...
- Python基础语法,基本数据类型及相关操作
---恢复内容开始--- python文件 文件开头要有 #!/usr/bin/ python --在linux中是告诉系统phthon的路径是在/usr/bin/ python目录下 ...
- go基础语法-变量定义
1.基础定义 变量类型在变量名后 var a int var s string 2.定义并赋值 var a,b int = 1,2 var s string="abc" 3.类型推 ...
- python基础之变量与数据类型
变量在python中变量可以理解为在计算机内存中命名的一个存储空间,可以存储任意类型的数据.变量命名变量名可以使用英文.数字和_命名,且不能用数字开头使用赋值运算符等号“=”用来给变量赋值.变量赋值等 ...
- typescript基础语法--变量/函数/指令/类
博客地址 :https://www.cnblogs.com/sandraryan/ 要把ts文件引入到html中,首先要转码为js文件. 步骤: 终端运行: npm i -g typescript t ...
- 开发基础 (变量、数据类型、格式化输出、运算符、流程控制、while循环)
一.变量 name = "SmallNine" 等号前面是变量名(标识符),等号后面是变量值 变量的主要作用:就是把程序运算的中间结果临时存到内存里,已备后面的代码继续调用. 变量 ...
随机推荐
- TVM:设计与架构
本文档适用于想要了解 TVM 架构和/或积极开发项目的开发人员.页面组织如下: 示例编译流程概述了 TVM 将模型的高层描述转换为可部署模块所采取的步骤.要开始使用,请先阅读本节. 逻辑架构组件部分描 ...
- AI模型的回调能力的理解和实现
前言 BigTall最近把RAG和Agent的原理想通了,对于"一切都是提示词"的理解又更多了一些.本文把我的理解大致整理了一下,给出BigTall自己的一个实验.希望能够对大家有 ...
- java从小白到老白③
PS:①小陌笔记中蓝色紫色等一切花哨字体皆用来引入知识点(废话流),可忽略不计 . ②黑字正文小陌竭力向言简意赅靠近再靠近. ③红色字体小陌觉得重要的地方 老规矩,题目引入: int a = 1; i ...
- Dify搭建AI图片生成助手中的坑!
使用 Dify 搭建 AI 图片生成助手并不是什么难事,而且不需要你会编程知识,也能轻松实现. 但是,Dify 在搭建 AI 图片生成助手的过程中会遇到很多坑,例如以下这些: 有些组件随着时间的推移, ...
- Spring 注解之 @MapperScan 和 @Mapper
@Mapper注解 为了让别的类能够引用UserMapper,需要在UserMapper类上添加@Mapper注解: @Mapper public interface UserMapper { pub ...
- TPS和QPS的概念
TPS TPS:Transactions Per Second(每秒传输的事务处理个数),即服务器每秒处理完成的事务数.TPS包括一条消息入和一条消息出,加上一次用户数据库访问. TPS是 ...
- C++程序员必会的12个大项目,学会这些项目,找工作还是问题吗?
项目0-项目准备 项目1-黑客攻击系统 项目2-人工智能之地形导航系统 项目3-人工智能之双色球预测系统 项目4-地震监测系统 项目5-智能婚恋交友系统 项目6-广州军区微波通信系统 项目7-模板库高 ...
- java-web与jdbc 的使用
1:本地连接数据库的步骤 1 public class LoginDao { 2 3 // jdbc操作的五部曲 4 5 // 1: 导入jar包 6 // 2: 加载驱动 7 // 3: 获取连接 ...
- TypeScript中never类型的实用技巧
本文由 ChatMoney团队出品 妙用一 当我们在一个项目中,可能会去改动一个在整个项目中应用很广泛的函数的参数类型,但是可能由于代码量比较庞大,我们不好排查改了之后哪些地方会出现问题,此时我们可以 ...
- 对S4的看法
我是12年开始接触SAP的,13年还没毕业就进入了某个项目做CRM...在这个项目之前,我学习了abap开发基础,还有web dynpro开发基础,以及CRM UI开发基础. 后来我入职了甲方,那时候 ...