【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 = , int lineType = LINE_8, int shift = )
或者
void cv::rectangle(Mat & img, Rect rec, const Scalar & color, int thickness = , int lineType = LINE_8, int shift = )
dlib中的rectangle类型:
rectangle ( long left_, long top_, long right_, long bottom_ );
或者
template <typename T> rectangle ( const vector<T,>& p1, const vector<T,>& p2);
如何转换
static cv::Rect dlibRectangleToOpenCV(dlib::rectangle r)
{
return cv::Rect(cv::Point2i(r.left(), r.top()), cv::Point2i(r.right() + , r.bottom() + ));
}
或者
static dlib::rectangle openCVRectToDlib(cv::Rect r)
{
return dlib::rectangle((long)r.tl().x, (long)r.tl().y, (long)r.br().x - , (long)r.br().y - );
}
或者
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类型;
参考
3.stackoverflow-convert-opencvs-rect-to-dlibs-rectangle;
完
【opencv基础】opencv和dlib库中rectangle类型之间的转换的更多相关文章
- Qt中所有类型之间的转换
1.char * 与 const char *的转换 char *ch1="hello11";const char *ch2="hello22";ch2 = c ...
- Dlib库中实现正脸人脸检测的测试代码
Dlib库中提供了正脸人脸检测的接口,这里参考dlib/examples/face_detection_ex.cpp中的代码,通过调用Dlib中的接口,实现正脸人脸检测的测试代码,测试代码如下: #i ...
- Dlib库中实现正脸人脸关键点(landmark)检测的测试代码
Dlib库中提供了正脸人脸关键点检测的接口,这里参考dlib/examples/face_landmark_detection_ex.cpp中的代码,通过调用Dlib中的接口,实现正脸人脸关键点检测的 ...
- Java基础——基本类型和包装类、基本类型和字符串之间的转换
基本类型和包装类之间的转换 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更 ...
- Java中数据类型及其之间的转换
Java中数据类型及其之间的转换 基本的数据类型 基本类型有以下四种:1)int长度数据类型有:byte(8bits).short(16bits).int(32bits).long(64bits).2 ...
- DB2中字符、数字和日期类型之间的转换
DB2中字符.数字和日期类型之间的转换 一般我们在使用DB2或Oracle的过程中,经常会在数字<->字符<->日期三种类 型之间做转换,那么在DB2和Oracle中,他们分别 ...
- Java中数据类型及其之间的转换(转)
Java中数据类型及其之间的转换 基本的数据类型 基本类型有以下四种:1)int长度数据类型有:byte(8bits).short(16bits).int(32bits).long(64bits).2 ...
- JavaScript中进制之间的转换
JavaScript中进制之间的转换 //十进制转其他 var x = 100; alert(x); alert(x.toString(2)); //转2进制 alert(x.toString(8)) ...
- JavaScript中基本数据类型之间的转换
在JavaScript中共有六种数据类型,其中有五种是基本数据类型,还有一种则是引用数据类型.五种基本数据类型分别是:Number 数值类型.String 字符串类型.Boolean 布尔类型, nu ...
随机推荐
- java基础学习总结——线程(一)
一.线程的基本概念
- 获取scrollTop始终为0问题
$(obj ).scrollTop()获取为 0 解决思路: 1.不设置 obj 高度 div{ height:auto; } 2.强制还原高度 $(obj).css({"height&qu ...
- mysql--------四种索引类型
一.索引的类型 mysql索引的四种类型:主键索引.唯一索引.普通索引和全文索引.通过给字段添加索引可以提高数据的读取速度,提高项目的并发能力和抗压能力.索引优化时mysql中的一种优化方式.索引的作 ...
- IE6不兼容hover已解决
新建一个csshover.htc文件,一下是csshover.htc内容 <public:attach event="ondocumentready" onevent=&qu ...
- HashMap知识点、问题
转载:https://blog.csdn.net/qq_27007251/article/details/71403647 https://www.cnblogs.com/kxdblog/p/4323 ...
- 自定义实现spark的分区函数
有时自己的业务需要自己实现spark的分区函数 以下代码是实现一个自定义spark分区的demo 实现的功能是根据key值的最后一位数字,写到不同的文件 例如: 10写入到part-00000 11写 ...
- Adaboost入门教程——最通俗易懂的原理介绍(图文实例)
https://blog.csdn.net/px_528/article/details/72963977 写在前面 说到Adaboost,公式与代码网上到处都有,<统计学习方法>里面有详 ...
- Oracle连接知识
Oracle基本连接知识 登录sys用户或 sysdba用户权限的账号 Sqlplus 建用户 Create user test identified by 12345678 ...
- Using Fetch to rewrite JSON
截图如下: html代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...
- 51nod算法马拉松28-c
题解: 按照每一个要求,分类讨论,讨论压下去了多少 代码: #include<bits/stdc++.h> using namespace std; ,N=; int n,A,B,C,an ...