【发布时间】:2016-11-05 22:21:39
【问题描述】:
如何将dlib::array2d<bgr_pixel> 转换为灰度图像?
灰色图像应该是array2d<unsigned_char>。
我从未见过关于该问题的好的 dlib 文档。
【问题讨论】:
标签: c++ image-processing dlib
如何将dlib::array2d<bgr_pixel> 转换为灰度图像?
灰色图像应该是array2d<unsigned_char>。
我从未见过关于该问题的好的 dlib 文档。
【问题讨论】:
标签: c++ image-processing dlib
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
【讨论】:
rgb_pixel 使用 unsigned char