在做一个人脸检测相关的项目,用到dlib,一个OpenCV Mat转dlib array2d的小技巧,就不需要存盘再读出来了。
#include "opencv2/core/core_c.h" // shame, but needed for using dlib
#include <dlib/image_processing.h>
#include <dlib/opencv/cv_image.h>
dlib::shape_predictor sp;
dlib::deserialize(path_to_landmark_model) >> sp;
cv::Rect r;
cv::Mat I;
dlib::rectangle rec(r.x, r.y, r.x+r.width, r.y+r.height);
dlib::full_object_detection shape = sp(dlib::cv_image<uchar>(I), rec);
在点击打开链接 看到的,之前看到的都是存盘再读出来做类型转换的。