Commit 2607f7b315337337099f3f1c690d4fbee13698ff

Authored by Josh Klontz
1 parent 66001a71

PP5 works on grayscale images

sdk/plugins/misc.cpp
@@ -100,7 +100,7 @@ class PrintTransform : public UntrainableMetaTransform @@ -100,7 +100,7 @@ class PrintTransform : public UntrainableMetaTransform
100 Q_OBJECT 100 Q_OBJECT
101 Q_PROPERTY(bool error READ get_error WRITE set_error RESET reset_error) 101 Q_PROPERTY(bool error READ get_error WRITE set_error RESET reset_error)
102 Q_PROPERTY(bool data READ get_data WRITE set_data RESET reset_data) 102 Q_PROPERTY(bool data READ get_data WRITE set_data RESET reset_data)
103 - BR_PROPERTY(bool, error, false) 103 + BR_PROPERTY(bool, error, true)
104 BR_PROPERTY(bool, data, false) 104 BR_PROPERTY(bool, data, false)
105 105
106 void project(const Template &src, Template &dst) const 106 void project(const Template &src, Template &dst) const
@@ -288,6 +288,8 @@ class RenameTransform : public UntrainableMetaTransform @@ -288,6 +288,8 @@ class RenameTransform : public UntrainableMetaTransform
288 } 288 }
289 }; 289 };
290 290
  291 +BR_REGISTER(Transform, RenameTransform)
  292 +
291 /*! 293 /*!
292 * \ingroup transforms 294 * \ingroup transforms
293 * \brief Rename first found metadata key 295 * \brief Rename first found metadata key
sdk/plugins/pp5.cpp
@@ -47,6 +47,7 @@ class PP5Initializer : public Initializer @@ -47,6 +47,7 @@ class PP5Initializer : public Initializer
47 { 47 {
48 TRY(ppr_initialize_sdk(qPrintable(Globals->sdkPath + "/share/openbr/models/pp5/"), my_license_id, my_license_key)) 48 TRY(ppr_initialize_sdk(qPrintable(Globals->sdkPath + "/share/openbr/models/pp5/"), my_license_id, my_license_key))
49 Globals->abbreviations.insert("PP5","Open+PP5Enroll!Identity:PP5Compare"); 49 Globals->abbreviations.insert("PP5","Open+PP5Enroll!Identity:PP5Compare");
  50 + Globals->abbreviations.insert("CropFace", "Open+Cvt(Gray)+PP5Enroll(true)+Rename(PP5_Landmark0_Right_Eye_X,Affine_0_X)+Rename(PP5_Landmark0_Right_Eye_Y,Affine_0_Y)+Rename(PP5_Landmark1_Left_Eye_X,Affine_1_X)+Rename(PP5_Landmark1_Left_Eye_Y,Affine_1_Y)+Affine(96,128,0.28,0.45)+Show");
50 } 51 }
51 52
52 void finalize() const 53 void finalize() const
@@ -96,9 +97,11 @@ struct PP5Context @@ -96,9 +97,11 @@ struct PP5Context
96 97
97 static void createRawImage(const cv::Mat &src, ppr_raw_image_type &dst) 98 static void createRawImage(const cv::Mat &src, ppr_raw_image_type &dst)
98 { 99 {
99 - ppr_raw_image_create(&dst, src.cols, src.rows, PPR_RAW_IMAGE_BGR24);  
100 - assert((src.type() == CV_8UC3) && src.isContinuous());  
101 - memcpy(dst.data, src.data, 3*src.rows*src.cols); 100 + if (!src.isContinuous()) qFatal("PP5Context::createRawImage requires continuous data.");
  101 + if (src.channels() == 3) ppr_raw_image_create(&dst, src.cols, src.rows, PPR_RAW_IMAGE_BGR24);
  102 + else if (src.channels() == 1) ppr_raw_image_create(&dst, src.cols, src.rows, PPR_RAW_IMAGE_GRAY8);
  103 + else qFatal("PP5Context::createRawImage invalid channel count.");
  104 + memcpy(dst.data, src.data, src.channels()*src.rows*src.cols);
102 } 105 }
103 106
104 void createMat(const ppr_face_type &src, cv::Mat &dst) const 107 void createMat(const ppr_face_type &src, cv::Mat &dst) const