前言

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

1.窗口创建的三种方式

1.1使用dev_open_window算子

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

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

1.2使用dev_open_window_fit_image

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

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

1.3dev_open_window_size_image

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

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

区别

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

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

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

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

3.设置halcon是否启用更新

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

  1. *关闭更新
  2. dev_update_off()
  3. *打开窗口
  4. dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle1)
  5. *显示图片
  6. dev_display(Image)
  7. *启用更新
  8. 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. cron表达式的双重人格:星期和数字到底如何对应?

    写在前面 cron在希腊语中是时间的意思,而cron表达式(cron expression)则是遵循特定规则,用于描述定时设置的字符串,常用于执行定时任务.本文总结了不同环境(如平台.库等)下,cro ...

  2. Redis 面试常见问题———缓存雪崩、缓存击穿以及缓存穿透

    在开发中会面临缓存异常可能会出现三个问题,分别是缓存雪崩.缓存击穿和缓存穿透.这三个问题会导致大量请求从缓存转移到数据库,如果请求的并发量很大的话,就会导致数据库崩溃.所以在面试官也会经常问这些问题. ...

  3. Oil Deposits 新年特辑篇

    链接:E - Oil Deposits 题目: The GeoSurvComp geologic survey company is responsible for detecting undergr ...

  4. jmeter基础功能及认识

    1.基础知识: JMeter是免费开源的,纯java开发的性能测试工具,可以测试静态和动态的资源,例如:静态文件.java服务小程序.CGI脚本.java对象.数据库.FTP服务器.邮件服务器和Per ...

  5. D:\Software\Keil5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(483): error: #5: cannot open source input file "core_cm3.h": No such file or directory

    1. 错误提示信息: D:\Software\Keil5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(483): erro ...

  6. 如何获取ISO8601定义的Work Week

    工作中遇到一个需求,需要在打印标签的时候打印生产当天的工作周.工作周按照ISO-8601定义的标准计算.找到两种方案. Excel函数 C#代码 Excel函数 非常简单,调用一个Excel自带函数就 ...

  7. Java High Level REST Client 使用地理位置查询

    Java High Level REST Client 使用地理位置查询 一.需求 二.对应的query语句 三.对应java代码 1.引入 jar 包 2.创建 RestHighLevelClien ...

  8. c语言编程基础入门必备知识

    数据类型 基本数据类型 类型名称说明char字符类型存放字符的ASCII码int整型存放有符号整数short短整型存放有符号整数long长整型存放有符号整数long long存放有符号整数float单 ...

  9. Sharding-JDBC基本使用,整合Springboot实现分库分表,读写分离

    结合上一篇docker部署的mysql主从, 本篇主要讲解SpringBoot项目结合Sharding-JDBC如何实现分库分表.读写分离. 一.Sharding-JDBC介绍 1.这里引用官网上的介 ...

  10. Verdi Transaction Debug Mode 简单使用

    转载:Verdi Transaction Debug Mode 简单使用_Holden_Liu的博客-CSDN博客 文档与源码: User Guide: Verdi_Transaction_and_P ...