存储OpenCv/JavaCv中经过训练的图像的替代方案是什么?
我正在用Java和JavaCv开发一个web人脸识别器应用程序。 拍摄一些照片后,将生成一个文件.yml/.xml,如下所示:存储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]);
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这样的关系数据库中?或者还有其他选择吗