前言

halcon有有大约1500个算子,我总结一些简单大家用得到的算子,比如创建窗口的方式有3种,接下来结束这方式,及其异同点等!

1.窗口创建的三种方式

1.1使用dev_open_window算子

dev_open_window表示打开一个400x400的窗口,图片有自适应缩放大小,去填充窗口。

*读取图像
read_image(Image,'123.png')
*打开图像窗口
dev_open_window(0,0,400,400,'white',WindowID)
*显示图像
dev_display(Image)

1.2使用dev_open_window_fit_image

窗口适应图片,会按照图片的大小比例去调整窗口。

*读取图像
read_image(Image,'123.png')
*打开图像窗口
dev_open_window_fit_image (Image, 0, 0, 400,400, WindowHandle)
*显示图像
dev_display(Image)

1.3dev_open_window_size_image

窗口不管多大,图片不缩放,显示它原始的比例。

*读取图像
read_image(Image,'123.png')
*打开图像窗口
dev_open_window_size_image(0,0,400,400,'white',WindowID)
*显示图像
dev_display(Image)

区别

算子 dev_open_window dev_open_window_fit_image dev_open_window_size_image
区别 会随着的窗口的大小,图片会被拉伸 图片会按照的窗口的大小去适应调整比例缩放 图片不会有任何变化,我行我素,按照图片的比例显示,不会关心窗口大小

2.如何计算算子的运行时长

使用的是count_seconds算子,可以记录算子的运行时间,在算子的前后分别记录count_seconds的时间,通过后者(t2)-前者(t1),得到的t3就是算子的运行时间。

*开始记录算子的时间
count_seconds(t1)
*打开窗口
dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle1)
*显示图片
dev_display(Image)
*记录算子的结束时间
count_seconds(t2)
*计算算子运行时间
t3:=(t2-t1)*1000

3.设置halcon是否启用更新

dev_update_off和dev_update_on设置程序是否启用更新,在控制的区域,程序不可以调试,可以加快程序的运行速度。

*关闭更新
dev_update_off()
*打开窗口
dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle1)
*显示图片
dev_display(Image)
*启用更新
dev_update_on()

总结

函数各有各的优势,在合适的场景使用合适的方式。

halcon基础算子介绍(窗口创建,算子运行时长,是否启用更新函数)的更多相关文章

  1. Amazon EC2免费VPS防止超额被扣钱三大方法:流量 硬盘读写 运行时长

    Amazon EC2也就是亚马逊云服务免费VPS主机服务,内存是613MB,月流量是30GB,主机空间是30GB,可以免费使用一年,又加上Amazon服务器全球多个节点CDN和本身的名气,早在2010 ...

  2. datatime来计算代码段运行时长

    小知识点:编程中一般都是先乘后除,这样结果更为精确 先定义 DataTime startTime = DataTime.Now; 中间是运行代码 最后TimeSpan ts = DataTime.No ...

  3. Linux运行时I/O设备的电源管理框架【转】

    转自:https://www.cnblogs.com/coryxie/archive/2013/03/01/2951243.html 本文介绍Linux运行时I/O设备的电源管理框架.属于Linux内 ...

  4. Spark RDD算子介绍

    Spark学习笔记总结 01. Spark基础 1. 介绍 Spark可以用于批处理.交互式查询(Spark SQL).实时流处理(Spark Streaming).机器学习(Spark MLlib) ...

  5. spark算子介绍

    1.spark的算子分为转换算子和Action算子,Action算子将形成一个job,转换算子RDD转换成另一个RDD,或者将文件系统的数据转换成一个RDD 2.Spark的算子介绍地址:http:/ ...

  6. spark基础知识介绍(包含foreachPartition写入mysql)

    数据本地性 数据计算尽可能在数据所在的节点上运行,这样可以减少数据在网络上的传输,毕竟移动计算比移动数据代价小很多.进一步看,数据如果在运行节点的内存中,就能够进一步减少磁盘的I/O的传输.在spar ...

  7. Day1 - Python基础1 介绍、基本语法、流程控制

    Python之路,Day1 - Python基础1   本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...

  8. Spark常用算子-KeyValue数据类型的算子

    package com.test; import java.util.ArrayList; import java.util.List; import java.util.Map; import or ...

  9. Python基础1 介绍、基本语法 、 流程控制-DAY1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

随机推荐

  1. aizhan查询旁IP网站脚本

    <?php print_r("-------------------------\r\n"); print_r("-------爱站旁站查询------\r\n&q ...

  2. 踩坑系列《二》NewProxyResultSet.isClosed()Z is abstract 报错踩坑

    在运行测试类的时候莫名其妙的报了个 NewProxyResultSet.isClosed()Z is abstract 这个错误,之前出现过这个错误,以为是版本出现了问题 就将版本 0.9.1.2 改 ...

  3. UE4蓝图AI角色制作(三)

    接上一节 6. 寻路网格体代理 通过允许配置多个"代理",虚幻引擎使得用户能够轻松为大小各异的AI创建寻路网格体.首先,选中世界大纲视图中的"RecastNavMesh& ...

  4. (Java)面向对象的三大特征

    封装.继承与多态 封装 封装的作用(好处) 提高程序安全性,保护数据 隐藏代码的实现细节 统一接口 增加系统可维护性 属性私有(关键字private) 加上Private可使该属性私有于一个类,在其他 ...

  5. Spring框架访问数据库的两种方式的小案例

    1.1 以Xml的方式访问数据库的案例 要以xml的方式访问数据库需要用到JdbcTemplate ,因为 JdbcTemplate(jdbc的模板对象)在Spring 中提供了一个可以操作数据库的对 ...

  6. iostream 操作符

    iostream 操作符 Input/output manipulators - cppreference.com

  7. ThreadLocalRandom类原理分析

    1.Random类及其局限性 public int nextInt(int bound) { if (bound <= 0) throw new IllegalArgumentException ...

  8. 什么,你还使用 webpack?别人都在用 vite 搭建项目了

    一.vite 到底是干嘛的? vite 实际上就是一个面向现代浏览器,基于 ES module 实现了一个更轻快的项目构建打包工具. vite 是法语中轻快的意思. vite 的特点: 1.轻快的冷服 ...

  9. Java:阻塞队列

    Java:阻塞队列 本笔记是根据bilibili上 尚硅谷 的课程 Java大厂面试题第二季 而做的笔记 1. 概述 概念 队列 队列就可以想成是一个数组,从一头进入,一头出去,排队买饭 阻塞队列 B ...

  10. Git: 搭建一个本地私人仓库

    Git: 搭建一个本地私人仓库 寝室放个电脑.实验室也有个电脑 为进行数据同步,充分利用实验室的服务器搭建了个本地私人仓库 1. 安装流程 当然首先保证服务器上与PC机上都已经安装了可用的Git 在P ...