使用opencv中匹配点对的坐标提取方式


Posted in Python onJune 04, 2020

在opencv中,特征检测、描述、匹配都有集成的函数。vector<DMatch> bestMatches;用来存储得到的匹配点对。那么如何提取出其中的坐标呢?

int index1, index2;
 for (int i = 0; i < bestMatches.size(); i++)//将匹配的特征点坐标赋给point
 {
 index1 = bestMatches.at(i).queryIdx;
 index2 = bestMatches.at(i).trainIdx;
 
 cout << keyImg1.at(index1).pt.x << " "
    << keyImg1.at(index1).pt.y << " "
    << keyImg2.at(index2).pt.x << " "
    << keyImg2.at(index2).pt.y << endl;
 }

补充知识:OpenCV 如何获取一个连通域中的所有坐标点

使用opencv中匹配点对的坐标提取方式

#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
 
int main(int argc, char* argv[])
{
    IplImage* img;
    img = cvLoadImage("D:\\OOTT\\WEEK5\\2.png");
    IplImage* gray = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
    cvCvtColor(img,gray,CV_BGR2GRAY);
    cvThreshold(gray,gray,128,255,CV_THRESH_BINARY);
    CvMemStorage* storage = cvCreateMemStorage();
    CvSeq * first_contour = NULL;
    int Ncontour = cvFindContours(gray,storage,&first_contour,sizeof(CvContour),CV_RETR_LIST); 
    //Ncontour为cvFindContours函数返回的轮廓个数
    for(CvSeq* c = first_contour;c!= NULL;c=c->h_next)
    { 
    //    cvDrawContours(img,c,cvScalar(255,255,0),cvScalar(255,0,255),0,2,8);
        cvNamedWindow("contours",CV_WINDOW_AUTOSIZE);
    //    cvShowImage("contours",img);
        for(int k = 0;k <c->total;++k)
        {
            CvPoint* p = CV_GET_SEQ_ELEM(CvPoint,c,k);
            printf("(%d,%d)\n",p->x,p->y);
 
        }    
        CvRect rect;
        rect = cvBoundingRect(c,0);
        cvFloodFill(img,cvPoint(img->width/2,img->height/2),cvScalar(255,255,255),cvScalar(20),cvScalar(20),NULL,4,NULL);
       cvShowImage("contours",img); 
        
        int Num[500][500];
        for (int i=0;i<(img->height-5);i++)
            for (int j=0;j<(img->width-5);j++)
            {
                CvScalar S0;
                S0=cvGet2D(img,i,j);
                if(S0.val[0] == 255)
                    Num[i][j]=1;
                else
                    Num[i][j]=0;
         printf("(%d,%d)\n",i,j);
            }
 
    }
    cvWaitKey(0);
    cvReleaseImage(&img);
    cvReleaseImage(&gray);
    cvDestroyWindow("contours");
    return 0;
}

以上这篇使用opencv中匹配点对的坐标提取方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python的struct模块中进行数据格式转换的方法
Jun 17 Python
win7上python2.7连接mysql数据库的方法
Jan 14 Python
Python 在字符串中加入变量的实例讲解
May 02 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 Python
Python设计模式之装饰模式实例详解
Jan 21 Python
python调用支付宝支付接口流程
Aug 15 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 Python
python深copy和浅copy区别对比解析
Dec 26 Python
python+tifffile之tiff文件读写方式
Jan 13 Python
python GUI模拟实现计算器
Jun 22 Python
Python读取二进制文件代码方法解析
Jun 22 Python
如何用python免费看美剧
Aug 11 Python
Python实现计算图像RGB均值方式
Jun 04 #Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
Jun 04 #Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 #Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 #Python
完美解决ARIMA模型中plot_acf画不出图的问题
Jun 04 #Python
Python使用Matlab命令过程解析
Jun 04 #Python
Python flask框架端口失效解决方案
Jun 04 #Python
You might like
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
js实现的网页颜色代码表全集
2007/07/17 Javascript
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
JavaScript Cookie 直接浏览网站分网址
2009/12/08 Javascript
validator验证控件使用代码
2010/11/23 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
JS实现图片切换特效
2019/12/23 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
[07:26]2015国际邀请赛第二日TOP10集锦
2015/08/06 DOTA
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
C和C++经典笔试题附答案解析
2014/08/18 面试题
优秀团员个人的自我评价
2013/10/02 职场文书
办理生育手续介绍信
2014/01/14 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
工会积极分子个人总结
2015/03/03 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书