1. dlib::array2d 与 cv::Mat 互转
dlib::array2d is an image already, you can use it for any dlib's image functions
//load image:
dlib::array2d<dlib::rgb_pixel> img_rgb;
dlib::load_image(img_rgb, "test_image.jpg");
//convert to greyscale:
dlib::array2d<unsigned char> img_gray;
dlib::assign_image(img_gray, img_rgb);
//converto to OpenCV Image (cv::Mat):
#include <dlib/op//cv.h>
#include <opencv2/opencv.hpp>
cv::Mat img = dlib::toMat(img_gray);
//get image from OpenCV:
#include <dlib/opencv.h>
#include <opencv2/opencv.hpp>
cv::Mat img = cv::imread("test_image.jpg")
dlib::cv_image<rgb_pixel> dlib_img(img); // only stores pointer, no deep copy
2)OpenCV Mat转dlib array2d
#include "opencv2/core/core_c.h" // shame, but needed for using dlib
#include <dlib/image_processing.h>