题目:halcon的数据类型

作者:李黛色

功能:halcon基础语法

个人学习记录,如有错误,欢迎更正。

两类参数:

1、图形参数Iconic (image, region, XLD)

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

0.算子

Halcon算子的参数中,

算子operator:执行特定图像处理任务的函数和命令。

语法,依次为:

(输入图形参数、输出图形参数、输入控制参数、输出控制参数;)

注意:输入参数不会被算子改变。

halcon图像的一些基本数据结构:

1.图形参数

  1. image : 图像

    a. halcon的图像类型,矩阵数据组成,矩阵每个值表示一个像素。

    b. 每一个像素包含的信息不同,通常将图像分为:二值图像、灰度图像、rgb图像。

    c. image type: Byte complex cyclic direction int1 int2 int4 int8 uint2 real
  2. region : 区域

    a. 图像的一块区域

    b. 该区域数据由点的坐标组成,表达的意义类似于一个范围

    c. 可以用region创建一个感兴趣区域ROI(region of interset)

    d. 形状任意,可以含洞,可以不连续点
  3. xld : 亚像素轮廓

    a. 区域的轮廓,region边缘的连续的点组成。

    b. 为什么需要亚像素精度,图像Image和区域region这些数据结构是像素精度。

    c. 边缘轮廓分两种:

    ⅰ. Contours轮廓,是一系列的点连接,点之间的距离大约是一个像素

    ⅱ. Polygons多边形,点之间的距离较大,是用最少的线来描述这个轮廓

    d. 是一个轮廓函数,不是基于像素,可以精确到像素点内部的一种描述。

    对比region 和 xld

    region,边是用每个小方块(像素)组成的

xld,线和每个像素(小方块)会有不同的交点,haolcon自己算

2.控制参数

  1. string : 字符串

    a. 单引号包裹
  2. integer :整数
  3. float :浮点数
  4. 布尔值 :true/false 1/0
  5. real : 实数
  6. tuple :元组

    a. 用于存储图像,一副或多幅图片

    b. 其中的数据类型,控制类型:整型、实数型、字符串型,可混搭;

    c. 注意:数据为iconic参数类型时,最小索引是1;当为Control参数类型时,最小索引是0。

    d. 例子:[1,'abd',3.14,image]
  7. handle : 句柄

    a. 标识符ID(唯一),引用某个已打开的资源或管理

    b. 用于管理窗口、文件等资源

    c. 管理一组复合数据的变量

    d. 例子:dev_open_windows() 算法返回窗口句柄

    e. 例子:窗口、保存创建的模板、采集相机等均以handle来标识要操作的对象

3.变量声明与赋值

  1. 变量无需声明
  2. 直接使用 := 赋值
  3. 变量名区分大小写
  4. 首字母不能是数字
  5. 例子:

    a. a := 1

    b. b := 'hello'

    c. image := read_image()

4.名词注释

图像 :图像的本质是矩阵。

像素 :图像放大到极致后可以看到一个最小的,单色的正方形方块,这叫一个像素。

矩阵 :的每个元素就是该点像素方块的灰度值。

灰度 :表征亮度的量;

灰度值 :灰度0为黑,255为白(0为黑,1为白)。

分辨率 :图像宽高的信息。横向有多少像素点,纵向有多少像素点。

通道 :图像的颜色如何表示?相当于叠图。RGB

亚像素 :

亚像素 Sub Pixel,面阵摄像机的成像面以像素为最小单位。

宏观上,两个像素之间有5.2微米的距离,可以看作是连在一起的。

微观上,它们之间还有无限的更小的东西存在。这个更小的东西我们称它为“亚像素”。

参考文章:

  1. https://zhuanlan.zhihu.com/p/471507066
  2. https://blog.csdn.net/zxmyoung/article/details/122238144
  3. https://blog.csdn.net/laoyao54/article/details/51496065
  4. https://baike.baidu.com/item/亚像素/7904986
  5. https://www.qinglite.cn/doc/10076476352491b16

总结:千锤万凿出深山

halcon_01_HALCON基础语法变量与数据类型的更多相关文章

  1. Java编程基础——常量变量和数据类型

    Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...

  2. openresty开发系列13--lua基础语法2常用数据类型介绍

    openresty开发系列13--lua基础语法2常用数据类型介绍 一)boolean(布尔)布尔类型,可选值 true/false: Lua 中 nil 和 false 为"假" ...

  3. java(二、基础语法和基本数据类型)

    Java 基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一 ...

  4. Java基础语法和基本数据类型

    Java基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 对象:对象是类的一个实例,有状态(属性)和行为(方法). 类:类是一个模板,他描述一类对象的行为 ...

  5. javascript基础语法——变量和标识符

    × 目录 [1]定义 [2]命名规则 [3]声明[4]特性[5]作用域[6]声明提升[7]属性变量 前面的话 关于javascript,第一个比较重要的概念是变量,变量的工作机制是javascript ...

  6. Python基础语法,基本数据类型及相关操作

    ---恢复内容开始--- python文件 文件开头要有  #!/usr/bin/ python        --在linux中是告诉系统phthon的路径是在/usr/bin/ python目录下 ...

  7. go基础语法-变量定义

    1.基础定义 变量类型在变量名后 var a int var s string 2.定义并赋值 var a,b int = 1,2 var s string="abc" 3.类型推 ...

  8. python基础之变量与数据类型

    变量在python中变量可以理解为在计算机内存中命名的一个存储空间,可以存储任意类型的数据.变量命名变量名可以使用英文.数字和_命名,且不能用数字开头使用赋值运算符等号“=”用来给变量赋值.变量赋值等 ...

  9. typescript基础语法--变量/函数/指令/类

    博客地址 :https://www.cnblogs.com/sandraryan/ 要把ts文件引入到html中,首先要转码为js文件. 步骤: 终端运行: npm i -g typescript t ...

  10. 开发基础 (变量、数据类型、格式化输出、运算符、流程控制、while循环)

    一.变量 name = "SmallNine" 等号前面是变量名(标识符),等号后面是变量值 变量的主要作用:就是把程序运算的中间结果临时存到内存里,已备后面的代码继续调用. 变量 ...

随机推荐

  1. TVM:设计与架构

    本文档适用于想要了解 TVM 架构和/或积极开发项目的开发人员.页面组织如下: 示例编译流程概述了 TVM 将模型的高层描述转换为可部署模块所采取的步骤.要开始使用,请先阅读本节. 逻辑架构组件部分描 ...

  2. AI模型的回调能力的理解和实现

    前言 BigTall最近把RAG和Agent的原理想通了,对于"一切都是提示词"的理解又更多了一些.本文把我的理解大致整理了一下,给出BigTall自己的一个实验.希望能够对大家有 ...

  3. java从小白到老白③

    PS:①小陌笔记中蓝色紫色等一切花哨字体皆用来引入知识点(废话流),可忽略不计 . ②黑字正文小陌竭力向言简意赅靠近再靠近. ③红色字体小陌觉得重要的地方 老规矩,题目引入: int a = 1; i ...

  4. Dify搭建AI图片生成助手中的坑!

    使用 Dify 搭建 AI 图片生成助手并不是什么难事,而且不需要你会编程知识,也能轻松实现. 但是,Dify 在搭建 AI 图片生成助手的过程中会遇到很多坑,例如以下这些: 有些组件随着时间的推移, ...

  5. Spring 注解之 @MapperScan 和 @Mapper

    @Mapper注解 为了让别的类能够引用UserMapper,需要在UserMapper类上添加@Mapper注解: @Mapper public interface UserMapper { pub ...

  6. TPS和QPS的概念

    TPS    TPS:Transactions Per Second(每秒传输的事务处理个数),即服务器每秒处理完成的事务数.TPS包括一条消息入和一条消息出,加上一次用户数据库访问.    TPS是 ...

  7. C++程序员必会的12个大项目,学会这些项目,找工作还是问题吗?

    项目0-项目准备 项目1-黑客攻击系统 项目2-人工智能之地形导航系统 项目3-人工智能之双色球预测系统 项目4-地震监测系统 项目5-智能婚恋交友系统 项目6-广州军区微波通信系统 项目7-模板库高 ...

  8. java-web与jdbc 的使用

    1:本地连接数据库的步骤 1 public class LoginDao { 2 3 // jdbc操作的五部曲 4 5 // 1: 导入jar包 6 // 2: 加载驱动 7 // 3: 获取连接 ...

  9. TypeScript中never类型的实用技巧

    本文由 ChatMoney团队出品 妙用一 当我们在一个项目中,可能会去改动一个在整个项目中应用很广泛的函数的参数类型,但是可能由于代码量比较庞大,我们不好排查改了之后哪些地方会出现问题,此时我们可以 ...

  10. 对S4的看法

    我是12年开始接触SAP的,13年还没毕业就进入了某个项目做CRM...在这个项目之前,我学习了abap开发基础,还有web dynpro开发基础,以及CRM UI开发基础. 后来我入职了甲方,那时候 ...