Dlib图片格式与OpenCV还是有一定区别的,dlib是以dlib::array2d的形式存在,而oepncv是以cv::Mat的形式存在。
1:dlib中读取图片:
dlib::array2d<dlib::rgb_pixel> img_rgb;
dlib::load_image(img_rgb, "test_image.jpg");
2:dlib rgb图片转换成灰度图片:
dlib::array2d<unsigned char> img_gray;
dlib::assign_image(img_gray, img_rgb);
3:dlib转换成OpenCV图片:
#include <dlib/opencv.h>
#include <opencv2/opencv.hpp>
cv::Mat img = dlib::toMat(img_gray);
4:OpenCV转Dlib:
#include<dlib/opencv.h>
#include<opencv2/opencv.hpp>
cv::Mat img =cv::imread("test_image.jpg");
dlib::cv_image<rgb_pixel>=dlib_img(img);
5:Opencv rgb图片转灰度图片:
#include<dlib/opencv.h>
#include<opencv2/opencv.hpp>
cv::gray_img
cv::Mat rgb_img = cv::imread("test_image.jpg");
cv::cvtcolor(rgb_img,gray_img,cv::COLOR_BGR2GRAY);