使用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将html转成PDF的实现代码(包含中文)
Mar 04 Python
python利用装饰器进行运算的实例分析
Aug 04 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
wxPython实现窗口用图片做背景
Apr 25 Python
python实现转圈打印矩阵
Mar 02 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
Python求解排列中的逆序数个数实例
May 03 Python
python使用scapy模块实现ARP扫描的过程
Jan 21 Python
python链表类中获取元素实例方法
Feb 23 Python
python实现监听键盘
Apr 26 Python
python神经网络学习 使用Keras进行回归运算
May 04 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/10/09 PHP
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
收集的10个免费的jQuery相册
2011/02/26 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
React-Native之定时器Timer的实现代码
2017/10/04 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
微信小程序多音频播放进度条问题
2018/08/28 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
Puppet的一些技巧
2018/09/17 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
npm qs模块使用详解
2020/02/07 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
Python字符串处理实例详解
2017/05/18 Python
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
Python datetime模块使用方法小结
2020/06/18 Python
python爬取抖音视频的实例分析
2021/01/19 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
大学毕业感言200字
2014/03/09 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
校园环保标语
2014/06/13 职场文书
承诺保证书格式
2015/02/28 职场文书
建筑工程催款函
2015/06/24 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript
python神经网络ResNet50模型
2022/05/06 Python