【1】文件夹遍历

list_image_files ( : : ImageDirectory, Extensions, Options : ImageFiles)

ImageDirectory: 文件夹路径

Extensions: 文件扩展名,如'.bmp' '.jpg'

Options: 搜索选项

‘recursive’ 指定可以遍历文件夹下的文件
‘follow_links’  
'max_depth 5' 指定遍历的深度

ImageFiles: 文件名数组,包含路径

注:另有list_files为遍历文件夹算子,可参照reference_hdevelop文档。

【2】文件筛选

tuple_regexp_select( : : Data, Expression : Selection)

Data: 文件名数组,包含路径

Expression: 文件筛选规则表达式

//. 转义
(bmp|JPG) 筛选的文件格式
‘ignore_case’ 忽略大小写

Selection: 筛选出的文件名数组

【3】文件名拆分

parse_filename( : : FileName : BaseName, Extension, Directory)

Input parameters:

FileName: The input filename

Output parameters:

BaseName: The filename without directory description and file extension

Extension: The file extension

Directory: The directory path

  1. * 遍历文件夹
  2. list_image_files ('D:/Prostore/HDevelop/HDevelopTmp/images', 'default', [], ImageFiles)
  3. * 筛选bmp及jmp格式的图片
  4. tuple_regexp_select(ImageFiles, ['\\.(bmp|jpg)$','ignore_case'], ImageFiles)
  5. * 打开窗口
  6. dev_open_window (0, 0, 512, 512, 'black', WindowHandle1)
  7. * 依次读取所选图片并显示 在窗口中
  8. for Index := 0 to |ImageFiles| - 1 by 1
  9. read_image (Image, ImageFiles[Index])
  10. dev_display(Image)
  11. * 分割文件名
  12. parse_filename(ImageFiles[Index], BaseName, Extension, Directory)
  13. * 保存图片,给出路径及名称,新文件名为在原文件名后添加_adj
  14. dump_window(WindowHandle,'bmp',Directory + BaseName + '_adj')
  15. stop ()
  16. endfor

注:程序设计过程中所用的算子的详细解释可以参照reference_hdevelop文档,该文档在Halcon安装路径下的doc文件夹中,外部函数的详细解释可以在程序编辑器函数列表中找到,函数列表中默认是main函数。

编程学习步骤:

1. 学习HDevelop示例程序。(文件—浏览HDevelop示例程序,示例程序存储在C:\Users\Public\Documents\MVTec\HALCON-12.0\examples\hdevelop路径下)
2. 参考reference_hdevelop文档。(更多帮助文档可在安装路径下doc文件夹中找到,本人帮助文档在D:\ProgramFiles\MVTec\HALCON-12.0\doc下)

算子、外部函数查找及学习

1. 百度HALCON实现某功能的函数或者算子;
2. 猜测算子可能包含的单词,在算子窗口中输入检索词,查看检索结果中的算子或者函数。
3. 进一步了解算子或者函数的具体功能及参数意义:算子详解可以参照reference_hdevelop文档,函数详解可以在程序编辑器函数列表中找到相应函数,然后进入该函数。

HALCON初步:文件夹遍历,文件筛选,文件名拆分,图片读取及保存的更多相关文章

  1. python文件夹遍历,文件操作,获取文件修改创建时间

    在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前 ...

  2. C#创建文件夹和文件

    一.创建文件夹,例: if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } 二.创建文件,例: global::Syste ...

  3. C++ 获取文件夹下的所有文件名

    获取文件夹下所有的文件名是常用的功能,今天再一次有这样的需求,所有就在网上查找了很多,并记下以供后用. 原文:http://blog.csdn.NET/cxf7394373/article/detai ...

  4. C/C++遍历文件夹和文件

    本方法可用于windows和linux双平台,采用C/C++标准库函数. 库函数 包含头文件 #include 用到数据结构_finddata_t,文件信息结构体的指针. struct _findda ...

  5. 通过ftp同步服务器文件:遍历文件夹所有文件(含子文件夹、进度条);简单http同步服务器文件实例

    该代码主要实现,指定ftp服务地址,遍历下载该地址下所有文件(含子文件夹下文件),并提供进度条显示:另外附带有通过http地址方式获取服务器文件的简单实例 废话不多说,直接上代码: 1.FTPHelp ...

  6. java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量

    package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...

  7. [转]C++ 获取文件夹下的所有文件名

    转自http://www.cnblogs.com/fnlingnzb-learner/p/6424563.html 头文件:#include<io.h> char * filePath = ...

  8. day18 时间:time:,日历:calendar,可以运算的时间:datatime,系统:sys, 操作系统:os,系统路径操作:os.path,跨文件夹移动文件,递归删除的思路,递归遍历打印目标路径中所有的txt文件,项目开发周期

    复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块的集 ...

  9. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

随机推荐

  1. HDU2181 哈密顿绕行世界问题

    解题思路:哈密顿环游世界问题.一道简单的题目,用回溯. #include<cstdio> #include<cstring> #include<algorithm> ...

  2. Ubuntu下快速建立跨多个平台的cocos2d-x项目

    原文:http://www.bennyxu.com/archives/462 这里之讲一点就是如何快速的建立起cocos2d-x项目,同时linux平台的优越性也充分的暴露无遗. 这里默认您已经成功的 ...

  3. javascript 小代码

    if(!("a" in window)){ var a =1; } alert(a); //undefined var a = 1,b=function a (x){ x & ...

  4. HDU - 6513 Reverse It (SYSU校赛C题)(组合数学+容斥)

    题目链接 题意:给定一个n*m的矩阵,可以选择至多两个子矩阵将其反转,求能形成多少种不同的矩阵. 任选一个矩阵有$C_{n+1}^{2}C_{m+1}^{2}$种方法,任选两个不同的矩阵有$C_{C_ ...

  5. Loj 504 ZQC的手办

    Loj 504 ZQC的手办 用线段树维护,每个节点存储区间内最小值 \(val\) 以及最小值出现的一个位置 \(pos\) . 对操作 \(1\) ,只需打标记即可,因为我们不维护其他的信息(如区 ...

  6. .NET 使用 XPath 来读写 XML 文件

    XPath 是 XML 路径语言(XML Path Language),用来确定XML文档中某部分位置的语言.无论是什么语言什么框架,几乎都可以使用 XPath 来高效查询 XML 文件. 本文将介绍 ...

  7. node 升级

    npm install -g n   npm update –g    

  8. Cocos2d-x学习笔记1

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u014734779/article/details/26077453 1.创建新的cocos2d-x ...

  9. 使用AWK分析Oracle系统锁定、Hang状态

    在早期Oracle版本中,由于技术不成熟等原因,数据库锁定和僵死状态还是时有发生的.对待这些问题,老先生们的处理策略无外乎是“重启”和“考究”两种策略.所谓“重启”,通过强制的重启服务器或者数据库,将 ...

  10. Fuel9.0安装openstack过程中所踩过的坑2018最新版

    坑一,安装好后,无法访问Web UI画面 访问https//10.20.0.2:8443无法打开UI画面.首先我们不管以后的步骤,打不开是很不爽的. 解决方法:把下面网卡1,网卡2,网卡3的界面名称都 ...