前言

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. TypeScript 枚举指南

    枚举是受 TypeScript 支持的数据类型.枚举允许您定义一组命名常量.使用它们可以更轻松地记录意图或创建一组不同的案例.枚举大多数用于面向对象的编程语言(如 Java 和 C#)中,现在也可以 ...

  2. 高德 Serverless 平台建设及实践

    作者 | 邓学祥(祥翼) 来源 | Serverless 公众号 高德从 FY21 财年开始启动 Serverless 建设,至今一年了,高德 Serverless 业务的峰值超过十万 qps 量级, ...

  3. 每日总结:Java课堂测试第三阶段第二次优化 (四则运算) (2021.9.22)

    package jisuan2; import java.util.*;import java.util.Scanner; public class xiaoxue { public static v ...

  4. 编程模仿MySql客服端

    写在前面 通过自己编写的Java代码程序,去模仿实现MySql客服端的简单功能,最终以控制台操作,很像在Dos窗口通过命令操作MySql数据库. 关键问题 在编写过程中遇到的一些小问题和一些值得留心注 ...

  5. javascript-jquery对象的css处理

    一.css基本属性处理 1.css()方法:获取css属性值.$("选择器").css(name);//获取匹配选择器的元素指定css属性值. 2.css()方法:设置css属性值 ...

  6. 【UE4 设计模式】单例模式 Singleton Pattern

    概述 描述 保证一个类只有一个实例 提供一个访问该实例的全局节点,可以视为一个全局变量 仅在首次请求单例对象时对其进行初始化. 套路 将默认构造函数设为私有, 防止其他对象使用单例类的 new运算符. ...

  7. Abp VNext分表分库,拒绝手动,我们要happy coding

    Abp VNext 分表分库 ShardingCore ShardingCore 易用.简单.高性能.普适性,是一款扩展针对efcore生态下的分表分库的扩展解决方案,支持efcore2+的所有版本, ...

  8. hystrix的dashboard和turbine监控

    当我们的应用程序使用了hystrix后,每个具体的hystrixCommand命令执行后都会产生一堆的监控数据,比如:成功数,失败数,超时数以及与之关联的线程池信息等.既然有了这些监控数据数据,那么我 ...

  9. 零基础学习C语言字符串操作总结大全

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, ...

  10. 转:bash shell 语法1

    1 Shell介绍 Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batc ...