关于halcon 20.11.02 深度学习语义分割例程报错:

在将原本于 20.05版本中的程序拷贝至20.11.02版本环境中出现报错


问题描述:

报错: 预处理数据集时报错2001 images_exist函数抛出异常
是由于将程序开始处的两处路径改为绝对路径时导致。

*
* ***********************************
* ***   Set Input/Output paths.   ***
* ***********************************
*
* Directory with image data.
ImageDir := 'C:/Users/xx/Desktop/新建文件夹 (2)/ddd'
* Directory with ground truth segmentation images.
SegmentationDir := 'C:/Users/xx/Desktop/新建文件夹 (2)/labels'


查看该函数后,发现halcon例程中的list_image_and_annotation_files函数在拆分图像路径时有问题,仅考虑了相对路径。问题来自于这句

*
* Get file paths of images relative to ImageDir.
tuple_regexp_match (ImageDirectories[0], '.*?' + ImageDir, CommonBasePathImage)
tuple_regexp_replace (ImageDirectories, CommonBasePathImage, '', ImageDirectoriesRel)

在匹配字符串ImageDirectories[0]和ImageDir时未找到路径字符串相同部分,CommonBasePathImage为""导致第二句在分离相对路径时失效,从而导致后续读取图像时路径出错


解决方案:

修改read_dl_dataset_segmentation函数里的list_image_and_annotation_files函数中将原代码

*
* Get file paths of images relative to ImageDir.
tuple_regexp_match (ImageDirectories[0], '.*?' + ImageDir, CommonBasePathImage)
tuple_regexp_replace (ImageDirectories, CommonBasePathImage, '', ImageDirectoriesRel)

更改为

* Get file paths of images relative to ImageDir.
tuple_regexp_match (ImageDirectories[0], '.*?' + ImageDir, CommonBasePathImage)
if(CommonBasePathImage = '')ImageDirectoriesRel:=''
elsetuple_regexp_replace (ImageDirectories, CommonBasePathImage, '', ImageDirectoriesRel)
endif

同理,修改label图像路径拆分程序

* Get paths of annotation files relative to AnnotationDir.
tuple_regexp_match (AnnoDirectories[0], '.*?' + AnnotationDir, CommonBasePathAnno)
tuple_regexp_replace (AnnoDirectories, CommonBasePathAnno, '', AnnoDirectoriesRel)

改为

* Get paths of annotation files relative to AnnotationDir.
tuple_regexp_match (AnnoDirectories[0], '.*?' + AnnotationDir, CommonBasePathAnno)
if(CommonBasePathAnno = '')AnnoDirectoriesRel := ''
elsetuple_regexp_replace (AnnoDirectories, CommonBasePathAnno, '', AnnoDirectoriesRel)
endif

后续程序即可正常

halcon 20.11.02 深度学习语义分割例程报错相关推荐

  1. HALCON 20.11:深度学习笔记(12)---语义分割

    HALCON 20.11:深度学习笔记(12)--- 语义分割 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语义分割, ...

  2. HALCON 20.11:深度学习笔记(6)---有监督训练

    HALCON 20.11:深度学习笔记(6)---有监督训练 HALCON 20.11.0.0中,实现了深度学习方法.不同的DL方法有不同的结果.相应地,它们也使用不同的测量方法来确定网络的" ...

  3. HALCON 20.11:深度学习笔记(1)

    HALCON 20.11:深度学习笔记(1) HALCON 20.11.0.0中,实现了以下深度学习方法: 1. Anomaly Detection(异常检测) 给每个像素分配显示未知特征的可能性.更 ...

  4. HALCON 20.11:深度学习笔记(11)---目标检测

    HALCON 20.11:深度学习笔记(11)---目标检测 HALCON 20.11.0.0中,实现了深度学习方法. 本章讲解了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在图像中找到不 ...

  5. HALCON 20.11:深度学习笔记(10)---分类

    HALCON 20.11:深度学习笔记(10)---分类 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何在训练和推理阶段使用基于深度学习的分类. 基于深度学习的分类是一种对一 ...

  6. HALCON 20.11:深度学习笔记(3)---Data(数据)

    HALCON 20.11:深度学习笔记(3)---Data(数据) HALCON 20.11.0.0中,实现了深度学习方法.其中,关于术语"数据"的介绍如下: 术语"数据 ...

  7. HALCON 20.11:深度学习笔记(9)---异常检测

    HALCON 20.11:深度学习笔记(9)---异常检测 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的异常检测. 通过异常检测,我们想要检测图像是否包含 ...

  8. HALCON 20.11:深度学习笔记(7)---术语表

    HALCON 20.11:深度学习笔记(7)---术语表 HALCON 20.11.0.0中,实现了深度学习方法.下面,我们将描述深度学习环境中使用的最重要的术语: anchor (锚) Anchor ...

  9. HALCON 20.11:深度学习笔记(5)---设置超参数

    HALCON 20.11:深度学习笔记(5)---设置超参数 HALCON 20.11.0.0中,实现了深度学习方法.关于超参数的有关设置内容如下: 不同的DL方法被设计用于不同的任务,它们的构建方式 ...

  10. HALCON 20.11:深度学习笔记(4)--- 网络和训练过程

    HALCON 20.11:深度学习笔记(4)--- 网络和训练过程 HALCON 20.11.0.0中,实现了深度学习方法.关于网络和训练过程如下: 在深度学习中,任务是通过网络发送输入图像来执行的. ...

最新文章

  1. 使用logrotate管理nginx日志文件
  2. 开发webpart时建立图像文件夹和CSS,js文件夹
  3. 中国队蝉联国际奥数冠军,6名选手获5金1银,3人保送北大、3人保送清华
  4. 我的 FPGA 学习历程(13)—— 电子钟项目
  5. java 打包jar文件以在没有安装JDK或JRE的机子上运行
  6. 第三次学JAVA再学不好就吃翔(part102)--拷贝图片
  7. Axure RP 的安装与卸载
  8. js进阶 12-5 jquery中表单事件如何使用
  9. vb如何定义微软服务器stul,VBScrip微软官方教程.doc
  10. POJ 2075 Tangled in Cables (c++/java)
  11. SQL Server 的本地时间和UTC时间
  12. 判断一个文本文件的编码格式
  13. React从入门到精通系列之(14)refs和DOM元素
  14. VS 添加代理 -NUGET
  15. 【bzoj1614】[Usaco2007 Jan]Telephone Lines架设电话线 二分+SPFA
  16. 凤凰系统运行linux,开机引导凤凰os出grub
  17. 2018中国食品工业年鉴2017PDF版
  18. ECharts数据可视化:入门、实战与进阶干货
  19. linux文件误删除该如何恢复?
  20. 在线招聘风起,周伯通怎么玩社区招聘?

热门文章

  1. linux os版本 32或64位查看
  2. 什么是运算计算机科学的基础概念,【软件设计师】笔记一:计算机科学基础知识...
  3. 计算机二级wps office考试题库,计算机等级考试题库:WPS Office试题
  4. 1008. 【SHOI2008】仙人图(II)
  5. bt5 note [7] 无线破解
  6. git commit最佳实践:conventional commits
  7. SPU和SKU有什么区别
  8. 单词Demantoite翠榴石demantoite英语
  9. 从团队协作与主题解读ios主流思维导图软件
  10. word转PDF图片失真