How can I convert a dlib::array2d<bgr_pixel>
to gray Image?
The gray Image should be array2d<unsigned_char>
.
I never see a good dlib documentation on that issue.
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/opencv.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
Documentation is here. There are a lot of well-documented examples, you should start from them. Special example about array2d
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With