Commit 2607f7b315337337099f3f1c690d4fbee13698ff
1 parent
66001a71
PP5 works on grayscale images
Showing
2 changed files
with
9 additions
and
4 deletions
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 |