Hello Mat

 找回密码
 立即注册
查看: 10479|回复: 1

读写数据到csv、txt文件

[复制链接]

1294

主题

1520

帖子

110

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22633
发表于 2016-12-5 22:43:30 | 显示全部楼层 |阅读模式
     数据的保存工作在Halcon软件中时常用到,特别是测试大规模的图像数据时,需要统计每幅图像的特征值时,就需要实时的保存数据到文本文件、csv文件或者EXCEL文件等,Halcon提供了强大的数据读写功能。
  1. list_image_files('C:/Users/ysw/Desktop/视频讲解/图库','default', [], ImageFiles)
  2. File_Name := 'ysw2.csv'
  3. file_exists(File_Name,FileExits)
  4. if(FileExits)
  5.     open_file(File_Name,'append',FileHandle)
  6. else
  7.     open_file(File_Name,'output',FileHandle)
  8. endif

  9. for i :=0 to |ImageFiles|-1 by 1
  10.     read_image(Image, ImageFiles[i])
  11.     min_max_gray(Image, Image, 0, Min, Max, Range)
  12.     fwrite_string(FileHandle,ImageFiles[i]+ ',' + 'MinGray=' + ',' + Min + ',' + 'MaxGray=' + ',' + Max + '\n')
  13. *     stop()
  14. endfor
复制代码

        运行程序后,输出结果如下。       循环写入数据到csv文件
  1. C:/Users/ysw/Desktop/视频讲解/图库/10.jpg        MinGray=        0        MaxGray=        179
  2. C:/Users/ysw/Desktop/视频讲解/图库/11.jpg        MinGray=        222        MaxGray=        255
  3. C:/Users/ysw/Desktop/视频讲解/图库/12.jpg        MinGray=        0        MaxGray=        0
  4. C:/Users/ysw/Desktop/视频讲解/图库/13.jpg        MinGray=        52        MaxGray=        238
  5. C:/Users/ysw/Desktop/视频讲解/图库/14.jpg        MinGray=        123        MaxGray=        169
  6. C:/Users/ysw/Desktop/视频讲解/图库/15.jpg        MinGray=        0        MaxGray=        231
  7. C:/Users/ysw/Desktop/视频讲解/图库/16.jpg        MinGray=        0        MaxGray=        201
  8. C:/Users/ysw/Desktop/视频讲解/图库/17.jpg        MinGray=        0        MaxGray=        255
  9. C:/Users/ysw/Desktop/视频讲解/图库/18.jpg        MinGray=        245        MaxGray=        245
  10. C:/Users/ysw/Desktop/视频讲解/图库/19.jpg        MinGray=        0        MaxGray=        56
  11. C:/Users/ysw/Desktop/视频讲解/图库/2.jpg        MinGray=        181        MaxGray=        255
  12. C:/Users/ysw/Desktop/视频讲解/图库/20.jpg        MinGray=        0        MaxGray=        94
  13. C:/Users/ysw/Desktop/视频讲解/图库/21.jpg        MinGray=        0        MaxGray=        25
  14. C:/Users/ysw/Desktop/视频讲解/图库/22.jpg        MinGray=        0        MaxGray=        255
  15. C:/Users/ysw/Desktop/视频讲解/图库/23.jpg        MinGray=        0        MaxGray=        7
  16. C:/Users/ysw/Desktop/视频讲解/图库/24.jpg        MinGray=        0        MaxGray=        255
  17. C:/Users/ysw/Desktop/视频讲解/图库/25.jpg        MinGray=        0        MaxGray=        8
  18. C:/Users/ysw/Desktop/视频讲解/图库/26.jpg        MinGray=        0        MaxGray=        232
  19. C:/Users/ysw/Desktop/视频讲解/图库/27.jpg        MinGray=        42        MaxGray=        255
复制代码

        如果用户需要写入到txt文件中,则只需要将写入的文件名后缀改一下即可,例如:
  1. list_image_files('C:/Users/ysw/Desktop/视频讲解/图库','default', [], ImageFiles)
  2. File_Name := 'ysw2.txt'
  3. file_exists(File_Name,FileExits)
  4. if(FileExits)
  5.     open_file(File_Name,'append',FileHandle)
  6. else
  7.     open_file(File_Name,'output',FileHandle)
  8. endif

  9. for i :=0 to |ImageFiles|-1 by 1
  10.     read_image(Image, ImageFiles[i])
  11.     min_max_gray(Image, Image, 0, Min, Max, Range)
  12.     fwrite_string(FileHandle,ImageFiles[i]+ ',' + 'MinGray=' + ',' + Min + ',' + 'MaxGray=' + ',' + Max + '\n')
  13. *     stop()
  14. endfor
复制代码


算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复

使用道具 举报

1294

主题

1520

帖子

110

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22633
 楼主| 发表于 2023-6-20 21:56:05 | 显示全部楼层
  1. dev_set_draw('margin')
  2. dev_update_off()
  3. path:='C:/DetecrionProjects'
  4. list_image_files(path+'/Image', 'default', [], ImageFiles)

  5. for i:= 0 to |ImageFiles|-1 by 1
  6.     imagepath := ImageFiles[i]
  7.     tuple_split(imagepath,'/',Substrings)
  8.     imagename := Substrings[|Substrings|-1]
  9.     tuple_split(imagename, '.jpg', Substrings1)
  10.     imagenameN := Substrings1[0]
  11.     read_image(Image, path+'/'+'Mask' + '/' + imagenameN+'.png')
  12.     threshold(Image, Region, 0, 128)
  13.     connection(Region, ConnectedRegions)
  14.     select_shape_std(ConnectedRegions, SelectedRegions, 'max_area', 70)
  15.     union1(SelectedRegions, RegionUnion)
  16.     smallest_rectangle1(RegionUnion, Row1, Column1, Row2, Column2)
  17.     Class :=0
  18.    
  19.     File_Name := path+'/'+'Mask' + '/' +imagenameN + '.xml'
  20.     file_exists(File_Name,FileExits)
  21.     if(FileExits)
  22.         delete_file(File_Name)
  23.         open_file(File_Name,'append',FileHandle)
  24.     else
  25.         open_file(File_Name,'output',FileHandle)
  26.     endif
  27.    
  28.     fwrite_string(FileHandle,imagepath+ ';' + Row1 + ',' + Column1 + ',' + Row2 + ',' + Column2+','+ Class + '\n')
  29.    
  30.     close_file(FileHandle)
  31. endfor
复制代码
算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-4-28 07:42 , Processed in 0.225259 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表