存储OpenCv/JavaCv中经过训练的图像的替代方案是什么?

存储OpenCv/JavaCv中经过训练的图像的替代方案是什么?,opencv,javacv,Opencv,Javacv,我正在用Java和JavaCv开发一个web人脸识别器应用程序。 拍摄一些照片后,将生成一个文件.yml/.xml,如下所示: for (File image : imageFiles) { Mat img = imread(image.getAbsolutePath(), CV_LOAD_IMAGE_GRAYSCALE); int label = Integer.parseInt(image.getName().split("\\-")[0]);

我正在用Java和JavaCv开发一个web人脸识别器应用程序。 拍摄一些照片后,将生成一个文件.yml/.xml,如下所示:

    for (File image : imageFiles) {
        Mat img = imread(image.getAbsolutePath(), CV_LOAD_IMAGE_GRAYSCALE);

        int label = Integer.parseInt(image.getName().split("\\-")[0]);
        String name = image.getName().substring(image.getName().indexOf("-") + 1, 
                                                image.getName().indexOf("_"));
        images.put(counter, img);
        labelsBuf.put(counter, label);
        map.put(label, name);

        counter++;
    }

    faceRecognizer.train(images, labels);
    faceRecognizer.save("C:/trainingDir/FaceDB.yml");
OpenCv页面和几乎所有的文章都展示了存储经过训练的数据的简单方法。问题是你训练的图片越多,它就越大,越不规范。无法将200mb的文件加载到应用程序中进行识别

我正在使用org.bytedeco上的javacv 1.2。基本上,我从这个人身上拍摄了大约30张照片,生成了.yml文件,创建了一个
createEigenFaceRecognizer()
的实例, 加载文件
faceRecognizer.load(“C:/trainingDir/FaceDB.yml”)
,然后执行识别
faceRecognizer.predict(testImage)

我搜索了很多OpenCv文章,但没有找到任何可行的解决方案

如何以及在何处存储经过培训的数据?是否可以存储在像MySql这样的关系数据库中?或者还有其他选择吗