我想使用内存中的字符串流而不是文件流来从磁盘读取文件以提高性能。svm-predict 的参数是:./svm-predict test_file model_file output_file。这是我的代码(使用 libsvm):
其中,poseData 是包含与工作平面文件版本相同的输入 svm 值的字符串流。
char temp[5120000];
char temp2[512];
sprintf(temp2, "./svm-predict %s %s %s", (FILE *)poseData, "tmp_train.model", (FILE*)temp );
// sprintf(temp2, "./svm-predict %s%i%s %s %s%i%s", "./Test_Files/", pos,".jpg.txt","tmp_train.model", "./Output/",pos,".jpg.output");
被注释掉的 sprintf 版本可以工作,但由于硬盘访问而速度很慢。sprintf poseData 看起来也与平面文件一模一样,但我无法将其转换为一个文件...