深度学习人脸表情识别中,需要比较数据集中的文件名和train_list.txt中的文件名是否相一致的java代码实现

2023-05-16

如下图所示,现有一个人脸表情数据集RAF-DB,其train文件中的每一个图片的文件名称为“train_00001_aligned.jpg”
在这里插入图片描述
另外,有train_list.txt文件标记了上图文件夹每一张数据图片所对应的标签,如下图所示,其每一张图片及对应的标签表示为“train_00000.jpg 5”
在这里插入图片描述
现在问题来了,需要比较train文件夹中的每一张图片和train_list.txt文件中的每一行所标记的名字是否相一致,如果不一致的则需要修改,其功能使用java代码实现如下:

package com.cskaoyan.object.api;

import java.io.*;
import java.util.Arrays;

public class Demo4Other {
  public static void main(String[] args) throws IOException {
      //打开存放数据集的文件夹,并读取每一个图片的文件名,存放在str_picture中
      File file = new File("C:\\Users\\蝙蝠侠\\Desktop\\2000\\文件夹里面的才可以\\RAF\\train");
      String str_picture[] = file.list();
      System.out.println(Arrays.toString(str_picture));

      //去掉数据集文件中第一个配置文件
      for(int i=0;i<str_picture.length-1;i++) {
          str_picture[i] = str_picture[i+1];
      }
      System.out.println(Arrays.toString(str_picture));

      //把每一个图片名由“train_00001_aligned.jpg”改成“train_00001.jpg”
      for(int i=0;i<str_picture.length-1;i++) {
          String str = str_picture[i].replace("_aligned.",".");
          str_picture[i] = str;
      }
      System.out.println(Arrays.toString(str_picture));

      //打开并读取存放数据集名称以及对应标签的txt文件train_list.txt,并把每一行的数据存放在str_txt中
      File filetxt = new File("C:\\Users\\蝙蝠侠\\Desktop\\2000\\文件夹里面的才可以\\RAF\\train_list.txt");
      FileInputStream input = new FileInputStream(filetxt);
      BufferedReader fis=new BufferedReader(new InputStreamReader(input));

      String[] str_txt = new String[str_picture.length];
      String s;
      int i=0;

      while(( s = fis.readLine())!=null) {
          str_txt[i] = s;
          i++;
      }

      //把“train_00000.jpg 5”变成“train_00000.jpg”,即把图片对应的标签去掉
      int last = str_txt[0].indexOf(" ",0);
      String[] str_txt_new = new String[str_picture.length];
      for(int k=0;k<str_picture.length-1;k++) {
          str_txt_new[k] = str_txt[k].substring(0,last);
      }

      //判断数据集文件名称和txt文件中对应的名字是否相吻合,即比较str_picture和str_txt_new,二者不一致的输出,一致的就不用输出
      System.out.println("———————华丽的分割线———————");
      for(int m = 0;m<str_picture.length-1;m++) {
          int result = str_picture[m].compareTo(str_txt_new[m]);
          if(result!=0) {
              System.out.println(str_picture[m]+"和"+str_txt_new[m]+"不一样");
          }
      }
  }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习人脸表情识别中,需要比较数据集中的文件名和train_list.txt中的文件名是否相一致的java代码实现 的相关文章

  • 在 portlet 中设置 SearchContainer 以使用 EL 和 JSTL 在 JSP 中使用它

    我正在尝试使用SearchContainer在我的liferay应用程序中 目前我必须使用 JSP Scriplets 来设置results in
  • Hibernate 每个子类一个表继承策略的效率

    我正在考虑 Hibernate 管理的类层次结构的表布局 当然 每个子类表技术在我看来是一般意义上最合适的 然而 通过逻辑思考 我对其性能有些担忧 尤其是随着子类数量的扩展 举一个非常简短 且经典 的示例 假设您有以下类 public ab
  • 仅使用公钥在 HD 钱包中生成以太坊地址 (bitcoinj/web3j)

    我尝试为使用 bitcoinj 库实现的 HD 钱包密钥生成以太坊地址 但我感到困惑 DeterministicSeed seed new DeterministicSeed some seed code here null 1409478
  • 解析 (yyyy-MM-dd) 格式的字符串日期

    我有一个 2013 09 18 形式的字符串 我想将其转换为 java util Date 我正在做这个 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd Date converted
  • 从另一个进程捕获 system.out 消息

    我有一个 JVM 1 它启动 JVM 2 我希望能够在 JVM 1 中监视来自 JVM 2 的 System out println 调用 直接的方法是 JVM A 执行系统命令来启动 JVM B 然后 JVM A 读取 B 的所有输出 S
  • 如何将完整的日期格式拆分为日期和时间?

    我有很多格式为我的示例所示的字符串 我必须解析它们 我正在尝试确定今天是哪根弦 我的问题是 时间快到了 我只需要比较那个日期 接下来我想检查时间是否在 after 和 before 的两个时间戳 HH mm ss 之间 但存在问题 日期几乎
  • 查找所有数组的长度多维数组,Java

    我想使用多维数组来存储数据网格 但是 我还没有找到一种简单的方法来查找长度2nd数组的一部分 例如 boolean array new boolean 3 5 System out println array length 只会输出3 是否
  • Glassfish 4 - JDBC 领域

    Glassfish 4 中的密码加密算法和摘要算法有什么区别 因为Password加密算法不能为空 所以我使用了MD5 Encoding使用了Hex 摘要算法为空 因此默认为 SHA 256 但是 如果我使用 JAAS 制作一个简单的登录应
  • 始终等待页面加载到 PageObjects 上

    因此 当出现问题时 我只是创建了一个简单的 selenium JBehave 代码 我将首先发布简化的代码 然后稍后解释我的问题是什么 所以这里我们有一个简单的 AbstractClass 它将在我的 PageObjects 上继承 此类仅
  • Java 表达式树 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有相当于 net的 LINQ 下的表达式树JVM 我想实现一些类似 LINQ 的代码结构Scala
  • Java 客户端到服务器未知来源

    我有一个简单的乒乓球游戏 需要通过网络工作 服务器将创建一个带有球和 2 个球棒位置的游戏 当客户端连接到服务器时 服务器将创建一个名为 PongPlayerThread 的新类 它将处理客户端到服务器的输入和输出流 我的服务器工作100
  • 我可以使用 Selenium Webdriver 测试元素的顺序吗?

    有一个表单 其中有 3 个字段 具有 3 个不同的 ID fieldset div div fieldset
  • 如何在 Java 中使用 HTML 解析器和 Apache Tika 来提取所有 HTML 标签?

    我下载了 tika core 和 tika parser 库 但找不到将 HTML 文档解析为字符串的示例代码 我必须删除网页源的所有 html 标签 我能做些什么 如何使用 Apache Tika 进行编码 您想要 html 文件的纯文本
  • Java 声音可视化器

    我正在尝试制作一个java声音可视化工具 但我完全不知道如何在实时处理音频后立即从提取的音频中获取字节 我可以将程序与 wav 文件同步 但这不是我想要做的 我想用程序生成声音 然后播放它 而不将其保存在任何地方 谢谢您的帮助 本文可以帮助
  • Jersey 和 Spring 中的全局异常处理?

    我正在使用 Jersey 和 Spring 3 2 以及 Open CMIS 开发 RESTful Web 服务 我没有使用 Spring 的 MVC 模式 它只是 Spring IOC 和 Jersey SpringServlet 控制器
  • IntelliJ - 无效源版本:17

    我已经在 IntelliJ 中使用 Gradle 创建了一个使用 Java 17 的新 Java 项目 运行我的应用程序时出现错误Cause error invalid source release 17 我的设置 我已经安装了openjd
  • SQlite 获取最近的位置(带有纬度和经度)

    我的 SQLite 数据库中存储有纬度和经度的数据 我想获取距我输入的参数最近的位置 例如我当前的位置 纬度 经度等 我知道这在 MySQL 中是可能的 并且我已经做了相当多的研究 SQLite 需要一个自定义外部函数来实现半正弦公式 计算
  • 短 2 个字节

    我正在从串行端口读取一个长度为 133 字节的数据包 最后 2 个字节包含 CRC 值 我使用 Java 将 2 个字节值制成单个 我认为很短 这就是我所做的 short high 48 0x00ff short low 80 short
  • 将其元素添加到另一个列表后清除列表

    我正在做一个程序 它获取更多句子作为参数 我制作了 2 个列表 一个称为 propozitie 其中包含每个句子 另一个称为 propozitii 其中包含所有句子 问题是 当我在遇到 后清除 propozitie 列表时 它也会清除 pr
  • removeall 和removeif 的用例

    我找到了这个 fun main val list MutableList

随机推荐