【问题标题】:Convert RGB Image to Grayscale Image in DLIB在 DLIB 中将 RGB 图像转换为灰度图像
【发布时间】:2016-11-05 22:21:39
【问题描述】:

如何将dlib::array2d<bgr_pixel> 转换为灰度图像?

灰色图像应该是array2d<unsigned_char>

我从未见过关于该问题的好的 dlib 文档。

【问题讨论】:

    标签: c++ image-processing dlib


    【解决方案1】:

    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);
    

    转换为 OpenCV 图像(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

    【讨论】:

    • 我有opencv gray mat 而不是rgb,如何将其转换为dlib 图像?
    • @user924 代替 rgb_pixel 使用 unsigned char
    猜你喜欢
    • 2014-02-26
    • 2014-12-22
    • 2019-11-14
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    相关资源
    最近更新 更多