如何将dlib::array2d<bgr_pixel>
转换为灰色图像?
灰色图片应为array2d<unsigned_char>
。
我从未在这个问题上看到过很好的dlib文档。
答案 0 :(得分:8)
dlib :: array2d已经是一个图像,你可以将它用于任何dlib的图像函数
加载图片:
dlib::array2d<dlib::rgb_pixel> img_rgb;
dlib::load_image(img_rgb, "test_image.jpg");
转换为灰度:
dlib::array2d<unsigned char> img_gray;
dlib::assign_image(img_gray, img_rgb);
converto转换为OpenCV Image(cv :: Mat):
#include <dlib/opencv.h>
#include <opencv2/opencv.hpp>
cv::Mat img = dlib::toMat(img_gray);
从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
文档是here。有很多记录良好的例子,你应该从它们开始。 Special example about array2d