Dlib与OpenCV图片转换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hnsywangxin/article/details/80213620

本人知乎号:Ngxin

转载请注明出处!

在做人脸关键点检测时候碰到Dlib的图片格式转换以及Dlib与OpenCV图片格式的互转,找了不少资料,现总结如下:

1:首先,Dlib图片格式与OpenCV还是有一定区别的,dlib是以dlib::array2d的形式存在,而oepncv是以cv::Mat的形式存在,关于opencv图像之间的转换,网上有很多资料,这里不再赘述,仅介绍一下dlib的图片格式转换以及dlib与opencv之间图片格式的互转。

2:dlib中读取图片:

dlib::array2d<dlib::rgb_pixel> img_rgb;
dlib::load_image(img_rgb, "test_image.jpg");

3:dlib rgb图片转换成灰度图片:

dlib::array2d<unsigned char> img_gray;
dlib::assign_image(img_gray, img_rgb);

4:dlib转换成OpenCV图片:

#include <dlib/opencv.h>
#include <opencv2/opencv.hpp>
cv::Mat img = dlib::toMat(img_gray);

5:OpenCV转Dlib:

#include<dlib/opencv.h>
#include<opencv2/opencv.hpp>
cv::Mat img =cv::imread("test_image.jpg");
dlib::cv_image<rgb_pixel>=dlib_img(img);

6:Opencv灰度图片转Dlib灰度图片:

#include<dlib/opencv.h>
#include<opencv2/opencv.hpp>
cv::gray_img
cv::Mat rgb_img = cv::imread("test_image.jpg");
cv::cvtcolor(rgb_img,gray_img,cv::COLOR_BGR2GRAY);
dlib::cv_image(uchar)=dlib_gray_img(gray_img);

参考链接:

Convert RGB Image to Grayscale Image in DLIB

扫描二维码关注公众号,回复: 3312028 查看本文章

dlib.net/imaging.html

猜你喜欢

转载自blog.csdn.net/hnsywangxin/article/details/80213620
今日推荐