【问题标题】:How to convert mat to array2d<rgb_pixel>?如何将 mat 转换为 array2d<rgb_pixel>?
【发布时间】:2015-05-21 00:23:45
【问题描述】:

我为dlib 面部地标代码创建了dll,使用array2d 来获取图像,但我喜欢使用Mat 读取图像并转换为array2d,因为dlib 仅支持array2d。谁能说如何将 mat 转换为 array2d ??

【问题讨论】:

    标签: c++ opencv image-processing rgb mat


    【解决方案1】:
    #include "opencv2/core/core_c.h" // shame, but needed for using dlib
    #include <dlib/image_processing.h>
    #include <dlib/opencv/cv_image.h>
    
    dlib::shape_predictor sp;
    dlib::deserialize(path_to_landmark_model) >> sp;
    
    cv::Rect r;
    cv::Mat I;
    dlib::rectangle rec(r.x, r.y, r.x+r.width, r.y+r.height);
    dlib::full_object_detection shape = sp(dlib::cv_image<uchar>(I), rec);
    

    【讨论】:

    • 我编辑了我的问题,先生,你能说出必要的步骤吗
    • 也许我误解了你,但请使用 dlib::cv_image&lt;uchar&gt;(Mat) 。查看最后一行代码。
    • 谢谢你...我确实喜欢 cv::Mat src = cv::imread("image_path",1); img=dlib::cv_image(src);但是我得到了这样的错误 Mr.berak error: no match for 'operator=' (operand types are 'dlib::array2d<:rgb_pixel>' and 'dlib::cv_image')
    • 我使用了它,但我得到了同样的错误 ** 错误:'operator=' 不匹配(操作数类型是 'dlib::array2d<:rgb_pixel>' 和 'dlib::cv_image ')** 点击查看完整代码。 click_here
    • 我的问题是**“给定的像素类型与打开的 cv Mat 对象使用的像素不匹配”** 当我像这样使用 Mat src = imread(argv[1],CV_LOAD_IMAGE_COLOR ); cv_image img(src); load_bmp(img,"input.bmp");你能提出一些想法吗
    【解决方案2】:

    首先将 Mat 转换为 dlib 的 cv_image。然后使用 dlib 的 assign_image() 可以将 cv_image 转换为 array2d。

    【讨论】:

      【解决方案3】:

      cv::Mat 图像转换为 dlib::array2d:

      如果是 BGR 图像,您可以按照以下步骤操作:

      dlib::array2d<dlib::bgr_pixel> dlibImage;
      dlib::assign_image(dlibImage, dlib::cv_image<dlib::bgr_pixel>(cvMatImage));
      

      而且,如果您有灰度图像,只需使用&lt;unsigned char&gt; 而不是&lt;bgr_pixel&gt;

      dlib::array2d<unsigned char> dlibImageGray;
      dlib::assign_image(dlibImageGray, dlib::cv_image<unsigned char>(cvMatImageGray));
      

      【讨论】:

        猜你喜欢
        • 2015-05-22
        • 1970-01-01
        • 2021-01-27
        • 2019-12-26
        • 2020-03-17
        • 2018-09-29
        • 1970-01-01
        • 1970-01-01
        • 2014-03-23
        相关资源
        最近更新 更多