|
数据的保存工作在Halcon软件中时常用到,特别是测试大规模的图像数据时,需要统计每幅图像的特征值时,就需要实时的保存数据到文本文件、csv文件或者EXCEL文件等,Halcon提供了强大的数据读写功能。
- list_image_files('C:/Users/ysw/Desktop/视频讲解/图库','default', [], ImageFiles)
- File_Name := 'ysw2.csv'
- file_exists(File_Name,FileExits)
- if(FileExits)
- open_file(File_Name,'append',FileHandle)
- else
- open_file(File_Name,'output',FileHandle)
- endif
- for i :=0 to |ImageFiles|-1 by 1
- read_image(Image, ImageFiles[i])
- min_max_gray(Image, Image, 0, Min, Max, Range)
- fwrite_string(FileHandle,ImageFiles[i]+ ',' + 'MinGray=' + ',' + Min + ',' + 'MaxGray=' + ',' + Max + '\n')
- * stop()
- endfor
复制代码
运行程序后,输出结果如下。 循环写入数据到csv文件
- C:/Users/ysw/Desktop/视频讲解/图库/10.jpg MinGray= 0 MaxGray= 179
- C:/Users/ysw/Desktop/视频讲解/图库/11.jpg MinGray= 222 MaxGray= 255
- C:/Users/ysw/Desktop/视频讲解/图库/12.jpg MinGray= 0 MaxGray= 0
- C:/Users/ysw/Desktop/视频讲解/图库/13.jpg MinGray= 52 MaxGray= 238
- C:/Users/ysw/Desktop/视频讲解/图库/14.jpg MinGray= 123 MaxGray= 169
- C:/Users/ysw/Desktop/视频讲解/图库/15.jpg MinGray= 0 MaxGray= 231
- C:/Users/ysw/Desktop/视频讲解/图库/16.jpg MinGray= 0 MaxGray= 201
- C:/Users/ysw/Desktop/视频讲解/图库/17.jpg MinGray= 0 MaxGray= 255
- C:/Users/ysw/Desktop/视频讲解/图库/18.jpg MinGray= 245 MaxGray= 245
- C:/Users/ysw/Desktop/视频讲解/图库/19.jpg MinGray= 0 MaxGray= 56
- C:/Users/ysw/Desktop/视频讲解/图库/2.jpg MinGray= 181 MaxGray= 255
- C:/Users/ysw/Desktop/视频讲解/图库/20.jpg MinGray= 0 MaxGray= 94
- C:/Users/ysw/Desktop/视频讲解/图库/21.jpg MinGray= 0 MaxGray= 25
- C:/Users/ysw/Desktop/视频讲解/图库/22.jpg MinGray= 0 MaxGray= 255
- C:/Users/ysw/Desktop/视频讲解/图库/23.jpg MinGray= 0 MaxGray= 7
- C:/Users/ysw/Desktop/视频讲解/图库/24.jpg MinGray= 0 MaxGray= 255
- C:/Users/ysw/Desktop/视频讲解/图库/25.jpg MinGray= 0 MaxGray= 8
- C:/Users/ysw/Desktop/视频讲解/图库/26.jpg MinGray= 0 MaxGray= 232
- C:/Users/ysw/Desktop/视频讲解/图库/27.jpg MinGray= 42 MaxGray= 255
复制代码
如果用户需要写入到txt文件中,则只需要将写入的文件名后缀改一下即可,例如:
- list_image_files('C:/Users/ysw/Desktop/视频讲解/图库','default', [], ImageFiles)
- File_Name := 'ysw2.txt'
- file_exists(File_Name,FileExits)
- if(FileExits)
- open_file(File_Name,'append',FileHandle)
- else
- open_file(File_Name,'output',FileHandle)
- endif
- for i :=0 to |ImageFiles|-1 by 1
- read_image(Image, ImageFiles[i])
- min_max_gray(Image, Image, 0, Min, Max, Range)
- fwrite_string(FileHandle,ImageFiles[i]+ ',' + 'MinGray=' + ',' + Min + ',' + 'MaxGray=' + ',' + Max + '\n')
- * stop()
- endfor
复制代码
|
|