使用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 getopt 参数处理小示例
Jun 09 Python
python 网络爬虫初级实现代码
Feb 27 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
使用paramiko远程执行命令、下发文件的实例
Oct 01 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
Jan 30 Python
详解用TensorFlow实现逻辑回归算法
May 02 Python
Python常见内置高效率函数用法示例
Jul 31 Python
python argparser的具体使用
Nov 10 Python
AUC计算方法与Python实现代码
Feb 28 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
pycharm中leetcode插件使用图文详解
Dec 07 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 上传功能实例代码
2010/04/13 PHP
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
2015/11/15 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
js变换显示图片的实例
2013/04/16 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
如何利用Python开发一个简单的猜数字游戏
2019/09/22 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
Pycharm调试程序技巧小结
2020/08/08 Python
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
演讲稿开场白
2014/01/13 职场文书
财政专业求职信范文
2014/02/19 职场文书
入党自荐书范文
2014/03/09 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
停发工资证明范本
2015/06/12 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书
Go语言空白表示符_的实例用法
2021/07/04 Golang