Commit 1e94e909ef1a1ce9d67e2c177d311fa3811fe624

Authored by Josh Klontz
1 parent 3bec8ea6

updated Likely plugin

Showing 1 changed file with 30 additions and 16 deletions
openbr/plugins/likely.cpp
@@ -19,24 +19,38 @@ class LikelyTransform : public UntrainableTransform @@ -19,24 +19,38 @@ class LikelyTransform : public UntrainableTransform
19 Q_PROPERTY(QString kernel READ get_kernel WRITE set_kernel RESET reset_kernel STORED false) 19 Q_PROPERTY(QString kernel READ get_kernel WRITE set_kernel RESET reset_kernel STORED false)
20 BR_PROPERTY(QString, kernel, "") 20 BR_PROPERTY(QString, kernel, "")
21 21
22 - likely_function function; 22 + likely_const_env env;
  23 + void *function;
  24 +
  25 + ~LikelyTransform()
  26 + {
  27 + likely_release_env(env);
  28 + }
23 29
24 void init() 30 void init()
25 { 31 {
26 - likely_ast ast = likely_ast_from_string(qPrintable(kernel));  
27 - likely_env env = likely_new_env();  
28 - function = likely_compile(ast, env, likely_type_null);  
29 likely_release_env(env); 32 likely_release_env(env);
  33 + const likely_ast ast = likely_lex_and_parse(qPrintable(kernel), likely_file_lisp);
  34 + const likely_const_env parent = likely_standard(NULL);
  35 + env = likely_eval(ast, parent, NULL, NULL);
  36 + likely_release_env(parent);
30 likely_release_ast(ast); 37 likely_release_ast(ast);
  38 + function = likely_compile(env->expr, NULL, 0);
31 } 39 }
32 40
33 void project(const Template &src, Template &dst) const 41 void project(const Template &src, Template &dst) const
34 { 42 {
35 - likely_const_mat srcl = likely::fromCvMat(src);  
36 - likely_const_mat dstl = function(srcl);  
37 - dst = likely::toCvMat(dstl);  
38 - likely_release(dstl);  
39 - likely_release(srcl); 43 + const likely_const_mat srcl = likelyFromOpenCVMat(src);
  44 + const likely_const_mat dstl = reinterpret_cast<likely_mat (*)(likely_const_mat)>(function)(srcl);
  45 + dst = likelyToOpenCVMat(dstl);
  46 + likely_release_mat(dstl);
  47 + likely_release_mat(srcl);
  48 + }
  49 +
  50 +public:
  51 + LikelyTransform()
  52 + {
  53 + env = NULL;
40 } 54 }
41 }; 55 };
42 56
@@ -49,27 +63,27 @@ BR_REGISTER(Transform, LikelyTransform) @@ -49,27 +63,27 @@ BR_REGISTER(Transform, LikelyTransform)
49 * www.liblikely.org 63 * www.liblikely.org
50 * \author Josh Klontz \cite jklontz 64 * \author Josh Klontz \cite jklontz
51 */ 65 */
52 -class lmFormat : public Format 66 +class lmatFormat : public Format
53 { 67 {
54 Q_OBJECT 68 Q_OBJECT
55 69
56 Template read() const 70 Template read() const
57 { 71 {
58 - likely_const_mat m = likely_read(qPrintable(file.name));  
59 - Template result(likely::toCvMat(m));  
60 - likely_release(m); 72 + const likely_const_mat m = likely_read(qPrintable(file.name), likely_file_guess);
  73 + const Template result(likelyToOpenCVMat(m));
  74 + likely_release_mat(m);
61 return result; 75 return result;
62 } 76 }
63 77
64 void write(const Template &t) const 78 void write(const Template &t) const
65 { 79 {
66 - likely_const_mat m = likely::fromCvMat(t); 80 + const likely_const_mat m = likelyFromOpenCVMat(t);
67 likely_write(m, qPrintable(file.name)); 81 likely_write(m, qPrintable(file.name));
68 - likely_release(m); 82 + likely_release_mat(m);
69 } 83 }
70 }; 84 };
71 85
72 -BR_REGISTER(Format, lmFormat) 86 +BR_REGISTER(Format, lmatFormat)
73 87
74 } // namespace br 88 } // namespace br
75 89