使用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中的greenlet包实现并发编程的入门教程
Apr 16 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
Python实现获取邮箱内容并解析的方法示例
Jun 16 Python
Python中三元表达式的几种写法介绍
Mar 04 Python
Python Datetime模块和Calendar模块用法实例分析
Apr 15 Python
Ubuntu+python将nii图像保存成png格式
Jul 18 Python
Django之模板层的实现代码
Sep 09 Python
Django中的FBV和CBV用法详解
Sep 15 Python
python根据文本生成词云图代码实例
Nov 15 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
Python连接mysql方法及常用参数
Sep 01 Python
浅析Django接口版本控制
Jun 26 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
php+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
javascript 弹出层组件(升级版)
2011/05/12 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
Python实现优先级队列结构的方法详解
2016/06/02 Python
详解python中的json的基本使用方法
2016/12/21 Python
Python实现随机漫步功能
2018/07/09 Python
python绘制彩虹图
2019/12/16 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
小学生成长感言
2014/01/30 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
紧急通知
2015/04/17 职场文书
2015年教师党员个人总结
2015/11/24 职场文书