使用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中的闭包总结
Sep 18 Python
python结合shell查询google关键词排名的实现代码
Feb 27 Python
书单|人生苦短,你还不用python!
Dec 29 Python
Python KMeans聚类问题分析
Feb 23 Python
基于python list对象中嵌套元组使用sort时的排序方法
Apr 18 Python
Python3多目标赋值及共享引用注意事项
May 27 Python
python面试题Python2.x和Python3.x的区别
May 28 Python
python并发编程多进程 互斥锁原理解析
Aug 20 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
Oct 14 Python
sklearn-SVC实现与类参数详解
Dec 10 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
python实现求纯色彩图像的边框
Apr 08 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高手?学会“懒惰”的编程
2006/12/05 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
window.name代替cookie的实现代码
2010/11/28 Javascript
将list转换为json失败的原因
2013/12/17 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
Django 实现下载文件功能的示例
2018/03/06 Python
Python装饰器原理与用法分析
2018/04/30 Python
Django如何将URL映射到视图
2019/07/29 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
python能自学吗
2020/06/18 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
写一个用矩形法求定积分的通用函数
2012/11/08 面试题
产品销售计划书
2014/05/04 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
优秀班主任主要事迹材料
2014/12/16 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
导游词之河北野三坡
2019/12/11 职场文书
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL
pandas求平均数和中位数的方法实例
2021/08/04 Python
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
Python进程间的通信之语法学习
2022/04/11 Python
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers