Halcon一日一练:读取文件目录图像的三种方法
第一种方法:
读了一个单一图像:
read_image(Image,'fabrik')
这种方式可以快速的读取软件自身携带的库图像文件,系统设定了库图像映像文件的快速读取方式,我们也可以通过绝对地址的方式来读取指定的目录文件:
read_image(Image1,'E:/Halcon一日一练/参考资料/images/图片1.jpg')
图像设定的映像文件目录可以进行关闭,set_system函数可以对映像文件目录进行关闭,关闭之后必须读取图像的绝对地址,否则,系统将会报错,
set_system('image_dir','false')//关闭图像映像文件
read_image(Image,'fabrik')//此时系统会报错
在关闭图像文件目录的情况下,再读取图像将会出现异常,此时我们需要重新设置默认读取文件的目录:
set_system('image_dir','C:\\Program Files\\MVTec\\HALCON-12.0\\images')
read_image(Image,'fabrik')
如果想要读取自身设定的图像目录,则是如下方式:
set_system('image_dir','E:\\Halcon一日一练\\参考资料\\images')
read_image(Image,'图片1')
操作完成后一定要将系统设定回来,并确认目录定义符一定是上斜线
set_system('image_dir','C:\\Program Files\\MVTec\\HALCON-12.0\\images')
set_system('image_dir,'true')
第2种方法:
如果要读取一组图像,则需要对图像文件的保存名称有一定的规则要求,一般按以下格式设定:‘name_number.imageform'
首先保存为图像的名称,下划线后面追加图像数字序列,这种方式有利于图像的循环读取,看看下面的语句:
for j:= 1 to 9 by 1
read_image(Image,'fonts/arial_a'+J+'.png')//读取图像
dev_display(Image)//显示图像
stop()//暂停
endfor
我们将C:\Program Files\MVTec\Halcon-12.0\images\fonts目录下的9个图像文件依次读取并且显示出来,中间的+号代表了字符间的合并。
第三种方法:
还有一种更好的方法,可以依次读取目录中的所有文件,这种采用虚拟设备读取文件内容的方式,可以直接读取文件中所有的图像,这种虚拟设备的图像读取方式,读取外部设备图像的方式非常接近,只不过获取图像的设备设置为文件方式,操作的方法和外部设备类似。
例程如下:
tuple_enviroment('HALCONROOT',RootDir)//文件目录
DirName:=RootDir+'\images'
*打开文件设备
open_framegraber('File',-1,-1,-1,-1,'default',-,'default',-1,'default',DirName,'default',-1,-1,AcqHandle)
while(1)
get_framegrabber_param(AcqHandle,'device',CurrentFileName)//设置图像设备对应的文件目录
grab_image(Image,AcqHandle)//读取文件
endwhile
close_framegrable(AcqHandle)//关闭设备
Halcon一日一练:读取文件目录图像的三种方法的更多相关文章
- java 分次读取大文件的三种方法
1. java 读取大文件的困难 java 读取文件的一般操作是将文件数据全部读取到内存中,然后再对数据进行操作.例如 Path path = Paths.get("file path&qu ...
- php读取文件内容的三种方法
<?php //**************第一种读取方式***************************** 代码如下: header("content-type:text/h ...
- 【转】flash air中读取本地文件的三种方法
actionscript中读取本地文件操作有两种代码如下 1.使用File和FileStream两个类,FileStream负责读取数据的所以操作:(同步操作) var stream:FileStre ...
- .NET读取Excel文件的三种方法的区别
ASP.NET读取Excel文件方法一:采用OleDB读取Excel文件: 把Excel文件当做一个数据源来进行数据的读取操作,实例如下: public DataSet ExcelToDS(strin ...
- PHP读取远程文件的三种方法
file_get_contents <?php$url = http://www.xxx.com/;$contents = file_get_contents($url);//如果出现中文乱码使 ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- c# 读取excel数据的两种方法(转)
转载自:http://developer.51cto.com/art/201302/380622.htm, 方法一:OleDb: 用这种方法读取Excel速度还是非常的快的,但这种方式读取数据的时候不 ...
- matlab读取cvs文件的几种方法
matlab读取CVS文件的几种方法: 1,实用csvread()函数 csvread()函数有三种使用方法: 1.M = csvread('filename')2.M = csvread('fi ...
- WPF编程,将控件所呈现的内容保存成图像的一种方法。
原文:WPF编程,将控件所呈现的内容保存成图像的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/detai ...
随机推荐
- SpringBoot的一个小彩蛋
彩蛋这种东西还算比较常见,在电影或者游戏里面我们也遇见过不少.今天就简单介绍一下SpringBoot里面的一个小彩蛋. 玩过SpringBoot的同志都知道,SpringBoot的启动界面是这酱紫的: ...
- uboot学习之uboot.bin的运行流程
上篇博客:http://www.cnblogs.com/yeqluofwupheng/p/7347925.html 讲到uboot-spl的工作流程,接下来简述一下uboot.bin的工作流程,这对应 ...
- C++中类型强制转换
C++中强制类型转换有四种: 1.static_cast 格式:static_cast<Type>(Value); --用于基本类型间的转换,但不能用于基本类型指针间的转换: int i ...
- Android Studio [页面的跳转和传值]
AActivity.java package com.xdw.a122.jump; import android.app.Activity; import android.content.Compon ...
- SpringBootSecurity学习(08)网页版登录整合MyBatis
创建数据库 前面介绍了springboot-security整合jdbc从数据库中查询用户的方式,适用性有限,下面介绍最常用的整合MyBatis,这种在开发和生产环境中是最常用,也是最实用的.首先需要 ...
- 『TensorFlow2.0正式版教程』极简安装TF2.0正式版(CPU&GPU)教程
0 前言 TensorFlow 2.0,今天凌晨,正式放出了2.0版本. 不少网友表示,TensorFlow 2.0比PyTorch更好用,已经准备全面转向这个新升级的深度学习框架了. 本篇文章就 ...
- 阿里云服务器CentOS6.9安装jenkins
jenkins安装 jenkins安装方式好几种,此处介绍基于tomcat安装,比较方便. 首先,通过官网下载jenkins.war文件,下载地址:https://jenkins.io/ 下载完成,将 ...
- Linux 删除命令rm
Linux rm命令用于删除一个文件或者目录. 语法:rm [options] name... 参数: 1.-i 删除前逐一询问确认. 2.-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认. 3 ...
- .Net Core自动化部署系列(一):Jenkins + GitLab
项目进行微服化改造后系统发布就变得愈为重要,因为持续集成导致部署变得越来越频繁,人工部署带来的一些问题日渐凸显,大家可能都有被系统部署线问题困扰过的经历. 本篇我们将会使用Jenkins+Gitlab ...
- SpringBootSecurity学习(17)前后端分离版之 OAuth2.0 数据库(JDBC)存储客户端
自动批准授权码 前面我们授权的流程中,第一步获取授权码的时候,都会经历一个授权是否同意页面: 这个流程就像第三方登录成功后,提问是否允许获取昵称和头像信息的页面一样,这个过程其实是可以自动同意的,需要 ...