java3d人脸识别程序

java3d人脸识别程序,java,Java,我还是一个Java程序员新手。 我已经在互联网上下载了一些项目,但是我在运行其中一个项目时遇到了一些问题。 那个项目是关于人脸识别的。 它可以成功编译,但当我想加载图像时,文件图片不会显示在JFileChooser中 我认为问题在于这一部分: File folder = fc.getSelectedFile(); //System.out.println("1 "+folder); FileFilter dirFilter = new Fi

我还是一个Java程序员新手。 我已经在互联网上下载了一些项目,但是我在运行其中一个项目时遇到了一些问题。 那个项目是关于人脸识别的。 它可以成功编译,但当我想加载图像时,文件图片不会显示在JFileChooser中

我认为问题在于这一部分:

    File folder = fc.getSelectedFile();
            //System.out.println("1 "+folder);
            FileFilter dirFilter = new FileFilter() {
                public boolean accept(File pathname) {
                    return pathname.exists() && pathname.isDirectory();
                }
            };
            FileFilter jpgFilter = new FileFilter() {
                public boolean accept(File pathname) {
                    String filename = pathname.getName();
                    boolean jpgFile = (filename.toUpperCase().endsWith("JPG")
                            || filename.toUpperCase().endsWith("JPEG"));
                    return pathname.exists() && pathname.isFile() && jpgFile;
                }
            };

            File[] folders = folder.listFiles(dirFilter);
            //System.out.println("2 "+folders);
            trainingSet.clear();
            faceBrowser.empty();

            for (int i = 0; i < folders.length; i++) {              //For each folder in the training set directory
                File[] files = folders[i].listFiles(jpgFilter);
                System.out.println("3   " + files);
                for (int j = 0; j < files.length; j++) {
                    trainingSet.add(files[j]);
                }
            }

            File[] files = trainingSet.toArray(new File[1]);

            jlist.setListData(files);
            //there is no image files in the folderwai
            //System.out.println(files);
            for (int i = 0; i < files.length; i++) {
                //System.out.println(files[0]);
                Face f = new Face(files[i]);
                f.description = "Face image in database.";
                f.classification = files[i].getParentFile().getName();
                faceBrowser.addFace(f);
                faces.add(f);
            }

            jlStatus.setIndeterminate(false);
            jlStatus.setString(files.length + " files loaded from " + folders.length + " folders.");
            jlStatus.paintImmediately(jlStatus.getVisibleRect());


            jspFaceBrowser.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            main.invalidate();

            jbTrain.setEnabled(true);
            jbCropImage.setEnabled(true);
        }

这只支持以扩展名.jpg或.jpeg结尾的文件。如果加载的文件以.png或其他扩展名结尾,则必须使用转换器将其转换为.jpg,这种转换器可能类似于联机转换器。转换后,它应该显示在JFileChooser中

此行为在此行中声明:

boolean jpgFile = (filename.toUpperCase().endsWith("JPG") || filename.toUpperCase().endsWith("JPEG"));
您可以将JPG更改为其他内容,但是,可以肯定的是,我会让它保持不变,直到您在编程方面变得更自在。

trainingSet声明为什么?