加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Halcon(一)文件的读取与保存

(2017-07-20 22:06:16)
标签:

戴锦新

halcon

文件读取

文件保存

分类: Halcon

1、多文件图片的读取:

 

*==============================分割线=============================

* 第一种方法

* 定义一个数组,存储图片路径,进行循环读取。 Path:路径)

ImagePath:=[]

ImagePath[0]:='C:/Users/Administrator/Documents/HalconExport/Image/carbord_01.jpg'

ImagePath[1]:='C:/Users/Administrator/Documents/HalconExport/Image/carbord_02.jpg'

ImagePath[2]:='C:/Users/Administrator/Documents/HalconExport/Image/carbord_03.jpg'

ImagePath[3]:='C:/Users/Administrator/Documents/HalconExport/Image/carbord_04.jpg'

ImagePath[4]:='C:/Users/Administrator/Documents/HalconExport/Image/carbord_05.jpg'

ImagePath[5]:='C:/Users/Administrator/Documents/HalconExport/Image/carbord_06.jpg'

ImagePath[6]:='C:/Users/Administrator/Documents/HalconExport/Image/carbord_07.jpg'

ImagePath[7]:='C:/Users/Administrator/Documents/HalconExport/Image/carbord_08.jpg'

for i:=0 to 7 by 1

read_image(Image,ImagePath[i])

endfor

 

* 第二种方法

* 这个与上面思路基本一致,采用循环读取,不过对存储的图片文件的文件有要求

for i:=0 to 7 by 1

read_image(Image,'C:/Users/Administrator/Documents/HalconExport/Image/'+i+'.jpg')

endfor



* 第三种方法

* $后面表示转换的格式,‘02’就将i转换为两位,左侧补零

* 02d02都可以。

 for i :=0 to 8 by 1

read_image

(Image, 'C:/Users/Administrator/Documents/HalconExport/Image/carbord_'+i$'02d'+'.jpg' )

endfor

 

* 第四种方法 (读取一个文件夹下的所有图片)

* 【助手】》【打开新的image acquisition 】》【图像助手】》【选择路径】》【代码生成】》

* 遍历文件夹

list_files

('C:/Users/Administrator/Documents/HalconExport/Image', ['files','follow_links'], ImageFiles)

 * 筛选bmp/jpg/png等等各种格式的图片

tuple_regexp_select

(ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)

 

for Index := 0 to |ImageFiles| - 1 by 1

   read_image (Image, ImageFiles[Index])

endfor

*==============================================================

 

2 图片文件的保存

*=============================分割线=============================

list_image_files ('D:/Prostore/HDevelop/HDevelopTmp/images', 'default', [], ImageFiles)

tuple_regexp_select(ImageFiles, ['\\.(bmp|jpg)$','ignore_case'], ImageFiles) 

dev_open_window (0, 0, 512, 512, 'black', WindowHandle1) 

for Index := 0 to |ImageFiles| - 1 by 1 

read_image  (Image, ImageFiles[Index])

dev_display  (Image)

 

 * 保存图片,给出路径及名称,新文件名:0.png,1.png,2.png…形式存储在E

dump_window(WindowHandle, 'png' , 'E:\'+Index) 

   * dump

   *dump_window (WindowID,Device,FileName)

      * (函数速查手册P229) :获取把窗口内容写入一个文件

     *WindowID:窗口句柄

    *Device:    图像格式

    *FileName:文件名

 

    stop () 

endfor 

*===============================================================

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有