前言

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. C++ 可变数组实现

    话不多说,直接上代码,看注释 template<class T> // 支持传入泛型,但string这种可变长度的类型还不支持 class Array { int mSize = 0, m ...

  2. NOIP 模拟一 考试总结

    序列 考场上信心满满的打了nlogn的做法,我以为我稳了.据考试结束1h时发现看错题目了,打成了不连续的子序列.匆匆改了n2logn的做法.考试结束后,我发现我跪了.原来到终点才会发现我做的和人家不是 ...

  3. Interrupted Exception异常可能没你想的那么简单!

    摘要: 当我们在调用Java对象的wait()方法或者线程的sleep()方法时,需要捕获并处理InterruptedException异常.如果我们对InterruptedException异常处理 ...

  4. react之组件生命周期

    四个阶段 初始化 运行中 销毁 错误处理(16.3以后) 初始化 constructor static getDerivedStateFromProps() componentWillMount() ...

  5. 倒计时 | 7.24 阿里云 Serverless Developer Meetup 杭州站报名火热进行中!

    本周六阿里云 Serverless Developer Meetup 即将亮相杭州 ​ 时间:7.24 本周六 13:30 - 17:30 地点:杭州市良睦路 999 号乐佳国际 1-3-7 特洛伊星 ...

  6. 题解 Hero meet devil

    题目传送门 题目大意 给出一个长度为 \(n\) 的字符串,对于每个 \(k\in [0,n]\),求出有多少个长度为 \(m\) 的字符串满足两者最长公共子序列长度为 \(k\). \(n\le 1 ...

  7. Apache Dubbo理解和应用

    官网:https://dubbo.apache.org/ slogan:高性能.轻量级的开源Java RPC框架 提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和 ...

  8. ❤️这应该是Postman最详细的中文使用教程了❤️(新手使用,简单明了)

    ️这应该是Postman最详细的中文使用教程了️(新手使用,简单明了) 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性.而这要求前端开发进 ...

  9. jquery-无缝滚动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. noj -> 跳马

    00 题目 描述: 在国际象棋中,马的走法与中车象棋类似,即俗话说的"马走日",下图所示即国际象棋中马(K)在一步能到达的格子(其中黑色的格子是能到达的位置). 现有一200*20 ...