• 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 FilesMVTecHalcon-12.0imagesfonts目录下的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)//关闭设备

  • 相关阅读:
    bzoj1663: [Usaco2006 Open]赶集
    bzoj1662: [Usaco2006 Nov]Round Numbers 圆环数
    [bzoj3771]Triple
    [bzoj1477]青蛙的约会
    [bzoj2299][HAOI2011]向量
    [2017.4.7校内训练赛by hzwer]
    [bzoj2456]mode
    [bzoj2120]数颜色
    [bzoj3668][Noi2014]起床困难综合症/[洛谷3613]睡觉困难综合症
    [4.6校内训练赛]
  • 原文地址:https://www.cnblogs.com/amosyang/p/9947002.html
Copyright © 2020-2023  润新知