作者:liaojiacai

邮箱: ljc_v2x_adas@foxmail.com

opencv中对角点检测时需要将vector<KeyPoint>与vector<point2f>之间进行转换

这个在opencv版本里面自带了相关的转换函数

1、KeyPoint 转point2f

 CV_WRAP static void convert(const std::vector<KeyPoint>& keypoints,CV_OUT std::vector<Point2f>& points2f,const std::vector<int>& keypointIndexes=std::vector<int>());

使用实例:

KeyPoint::convert(keypoints,point2f, 1, 1, 0, -1);

2、point2f 转KeyPoint

CV_WRAP static void convert(const std::vector<Point2f>& points2f,CV_OUT std::vector<KeyPoint>& keypoints,float size=1, float response=1, int octave=0, int class_id=-1);

使用实例:

KeyPoint::convert(point2f, keypoint, 1, 1, 0, -1);

从上面看到:这两个转换函数名是一样的,所以重载了,输入的参数顺序不同功能不同

另外,可以根据自己的需要,单独的使用自己写的转换函数来转换KeyPoint到Point

下面时根据参考写出自己的转换函数:

void KeyPointsToPoints(vector<KeyPoint> kpts, vector<Point2f> &pts)
{for (int i = 0; i < kpts.size(); i++) {pts.push_back(kpts[i].pt);}
}
void PointsToKeyPoints(vector<Point2f>pts,vector<KeyPoint>kpts)
{for (size_t i = 0; i < pts.size(); i++) {kpts.push_back(KeyPoint(pts[i], 1.f));}
}

参考:How can I convert vector<Point2f> to vector<KeyPoint>? - OpenCV Q&A Forum
http://answers.opencv.org/question/24623/how-can-i-convert-vectorpoint2f-to-vectorkeypoint/

第六十七篇:opencv中KeyPoint与point2f之间相互转换相关推荐

  1. 第六十七篇、OC_UITableView head下拉图片放大的效果

    (一) 布置UITableview 我们首先要通过设置UITableview的内容偏移 self.tableView.contentInset 来为图片视图留出位置,这里我们的图片高度暂定为280 c ...

  2. “约见”面试官系列之常见面试题之第六十七篇之jsonp原理和实现(建议收藏)

    一. 同源策略 所有支持Javascript的浏览器都会使用同源策略这个安全策略.看看百度的解释: 同源策略,它是由Netscape提出的一个著名的安全策略. 现在所有支持JavaScript 的浏览 ...

  3. OpenCV之CvMat Mat IplImage之间相互转换

    下面是亲测的: IplImage* iplimg = cvLoadImage("heels.jpg"); cv::Mat matimg; cvConvert(matimg,ipli ...

  4. OpenCV学习笔记(六):非线性滤波-中值、双边:medianBlur(),bilateralFilter()

    OpenCV学习笔记(六):非线性滤波-中值.双边:medianBlur(),bilateralFilter() 1.中值滤波(Median filter) 是一种典型的非线性滤波技术,基本思想是用像 ...

  5. OpenCV-Python实战(番外篇)——OpenCV中利用鼠标事件动态绘制图形

    OpenCV-Python实战(番外篇)--OpenCV中利用鼠标事件动态绘制图形 使用鼠标事件动态绘制 动态绘制图形 动态绘制图形和文本 相关链接 使用鼠标事件动态绘制 我们已经在<OpenC ...

  6. 【OpenCV 例程 300篇】240. OpenCV 中的 Shi-Tomas 角点检测

    『youcans 的 OpenCV 例程300篇 - 总目录』 [youcans 的 OpenCV 例程 300篇]240. OpenCV 中的 Shi-Tomas 角点检测 角是直线方向的快速变化. ...

  7. OpenCV中的图像处理3.9(六)轮廓线特征与属性

    目录 3.9 OpenCV中的轮廓线 3.9.1 轮廓线:入门 目标 什么是轮廓线? 如何绘制轮廓线? 轮廓线逼近法 3.9.2 轮廓线的特征 1. 矩 2. 轮廓线面积 3. 轮廓线周长 4. 轮廓 ...

  8. android是什么牌手机6,好用不贵系列 篇六:我心目中最好的手机:魅蓝note6

    好用不贵系列 篇六:我心目中最好的手机:魅蓝note6 2020-03-21 20:47:04 17点赞 16收藏 51评论 最近,我手机屏幕脆了,换了外屏后,指纹识别不灵敏了.于是顺理成章的淘汰给我 ...

  9. 【OpenCV入门教程之十七】OpenCV重映射 SURF特征点检测合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/30974513 作者:毛星云(浅墨) ...

最新文章

  1. 使用Wisdom RESTClient如何在Linux和Mac上获取测试报告和API文档?
  2. python爬虫如何从一个页面进入另一个页面-爬虫入门(一)——如何打开一个网页...
  3. python可以做什么工作好-Python可以做什么工作?Python有哪些方向?
  4. python mmap对象
  5. ICCV 2021 | 重铸Regression荣光!具有残差对数似然估计的人体姿态回归
  6. getopt java_Java命令行界面(第28部分):getopt4j
  7. PHP学习系列(1)——字符串处理函数(2)
  8. (小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别
  9. django-反向解析-命名分组路由的反解
  10. python 去重_上来就情感分析?我还是先用python去去重吧!
  11. k8s高可用集群_搭建高可用集群(初始化和部署keepalived)---K8S_Google工作笔记0055
  12. 常用数据库优化方案(五)
  13. nanomsg笔记--通信协议与传输协议
  14. python中pyecharts 柱状图 折线图混用_pyecharts折线图和柱状图
  15. isilon SMB 控制允许IP访问
  16. 0ctf_2016_unserialize
  17. SpringBoot之下载Excel
  18. 微信公众平台Js API WeixinApi
  19. 雪糕大军纷纷网红出道,“天价”背后是什么让消费者买单?
  20. 好看的悬疑电影,最好是高智商的

热门文章

  1. visualmap折线图_echarts折线图实现切断效果
  2. java宠物医院,基于SSM框架的JAVA宠物医院管理信息系统,源码分享
  3. 进程篇——了解Makefile文件
  4. Fedora进行ffmpeg+nginx+rtmp服务器配置局域网推流
  5. eft join 是left outer join的区别
  6. 家庭摄像头隐私保护存在漏洞,央视提醒:信息安全可能无法保障
  7. 软件开发、硬件开发、IPD产品开发 及 工程开发各阶段划分
  8. 产品06-流程图与结构图
  9. linux下ss工具简介
  10. 创建一个 PHP 程序来扫描主机名上的开放端口。