#define EBTAG (STEP_END + BTAG)\r
\r
//extern "C" {\r
- void LSVMparser(const char * filename, filterObject *** model, int *last, int *max, int **comp, float **b, int *count, float * score);\r
+ int LSVMparser(const char * filename, filterObject *** model, int *last, int *max, int **comp, float **b, int *count, float * score);\r
#ifdef __cplusplus\r
extern "C"\r
#endif\r
int loadModel(\r
- // Âõîäíûå ïàðàìåòðû\r
- const char *modelPath,// - ïóòü äî ôàéëà ñ ìîäåëüþ\r
\r
- // Âûõîäíûå ïàðàìåòðû\r
- filterObject ***filters,// - ìàññèâ óêàçàòåëåé íà ôèëüòðû êîìïîíåíò\r
- int *kFilters, //- îáùåå êîëè÷åñòâî ôèëüòðîâ âî âñåõ ìîäåëÿõ\r
- int *kComponents, //- êîëè÷åñòâî êîìïîíåíò\r
- int **kPartFilters, //- ìàññèâ, ñîäåðæàùèé êîëè÷åñòâî òî÷íûõ ôèëüòðîâ â êàæäîé êîìïîíåíòå\r
- float **b, //- ìàññèâ ëèíåéíûõ ÷ëåíîâ â îöåíî÷íîé ôóíêöèè\r
- float *scoreThreshold); //- ïîðîã äëÿ score)\r
+ const char *modelPath,\r
+ \r
+ filterObject ***filters,\r
+ int *kFilters,\r
+ int *kComponents,\r
+ int **kPartFilters,\r
+ float **b,\r
+ float *scoreThreshold); \r
//};\r
#endif
\ No newline at end of file
}\r
}\r
\r
-void LSVMparser(const char * filename, filterObject *** model, int *last, int *max, int **comp, float **b, int *count, float * score){\r
+int LSVMparser(const char * filename, filterObject *** model, int *last, int *max, int **comp, float **b, int *count, float * score){\r
int st = 0;\r
int tag;\r
char ch;\r
(*model) = (filterObject ** )malloc((sizeof(filterObject * )) * (*max));\r
\r
//printf("parse : %s\n", filename);\r
+\r
xmlf = fopen(filename, "rb");\r
+ if(xmlf == NULL){\r
+ return -1;\r
+ }\r
\r
i = 0;\r
j = 0;\r
}\r
} \r
}\r
+ return 0;\r
}\r
\r
int loadModel(\r
- // Âõîäíûå ïàðàìåòðû\r
- const char *modelPath,// - ïóòü äî ôàéëà ñ ìîäåëüþ\r
+ const char *modelPath,\r
\r
- // Âûõîäíûå ïàðàìåòðû\r
- filterObject ***filters,// - ìàññèâ óêàçàòåëåé íà ôèëüòðû êîìïîíåíò\r
- int *kFilters, //- îáùåå êîëè÷åñòâî ôèëüòðîâ âî âñåõ ìîäåëÿõ\r
- int *kComponents, //- êîëè÷åñòâî êîìïîíåíò\r
- int **kPartFilters, //- ìàññèâ, ñîäåðæàùèé êîëè÷åñòâî òî÷íûõ ôèëüòðîâ â êàæäîé êîìïîíåíòå\r
- float **b, //- ìàññèâ ëèíåéíûõ ÷ëåíîâ â îöåíî÷íîé ôóíêöèè\r
- float *scoreThreshold){ //- ïîðîã äëÿ score)\r
+ filterObject ***filters,\r
+ int *kFilters, \r
+ int *kComponents, \r
+ int **kPartFilters, \r
+ float **b, \r
+ float *scoreThreshold){ \r
int last;\r
int max;\r
int *comp;\r
int count;\r
int i;\r
+ int err;\r
float score;\r
//printf("start_parse\n\n");\r
\r
- LSVMparser(modelPath, filters, &last, &max, &comp, b, &count, &score);\r
+ err = LSVMparser(modelPath, filters, &last, &max, &comp, b, &count, &score);\r
+ if(err != 0){\r
+ return -1;\r
+ }\r
(*kFilters) = last + 1;\r
(*kComponents) = count;\r
(*scoreThreshold) = (float) score;\r