【opencv基础】opencv和dlib库中rectangle类型之间的转换

网友投稿 982 2022-11-01

【opencv基础】opencv和dlib库中rectangle类型之间的转换

【opencv基础】opencv和dlib库中rectangle类型之间的转换

前言

最近使用​​dlib​​库的同时也会用到opencv,特别是由于对dlib库的画图函数不熟悉,都想着转换到opencv进行show。本文介绍一下两种开源库中rectangle类型之间的转换。

类型说明

opencv中cv::​​Rect ​​​    以及opencv中的​​rectangle​​函数:

void cv::rectangle( InputOutputArray img, Point pt1, Point pt2, const Scalar & color, int thickness = 1, int lineType = LINE_8, int shift = 0)

或者

void cv::rectangle(Mat & img, Rect rec, const Scalar & color, int thickness = 1, int lineType = LINE_8, int shift = 0)

dlib中的​​rectangle​​类型:

rectangle ( long left_, long top_, long right_, long bottom_ );

或者

template rectangle ( const vector& p1, const vector& p2);

如何转换

static cv::Rect dlibRectangleToOpenCV(dlib::rectangle r){ return cv::Rect(cv::Point2i(r.left(), r-()), cv::Point2i(r.right() + 1, r.bottom() + 1));}

或者

static dlib::rectangle openCVRectToDlib(cv::Rect r){ return dlib::rectangle((long)r.tl().x, (long)r.tl().y, (long)r.br().x - 1, (long)r.br().y - 1);}

或者

dets.l = detect_rect.x;dets.t = detect_rect.y;dets.r = detect_rect.x + detect_rect.width;dets.b = detect_rect.y + detect_rect.height;

其中detect_rect是opencv类型,dets是dlib类型;

参考

1.​​opencv中的Rect类型​​;

2.​​dlib中的rectangle类型​​;

3.​​stackoverflow-convert-opencvs-rect-to-dlibs-rectangle​​;

4.​​dlib和opencv之间类型格式的转换​​;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【leetcode_easy_math】1175. Prime Arrangements
下一篇:DeepLearningKit 是针对 iOS、OS X 和 tvOS 的开源深度学习框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~