资源简介
一个cpp文件。
功能:利用opencv库对SIFT角点进行提取,并进行匹配,最后画出匹配示意图。程序逻辑简单,可以在内部自由改动。
代码片段和文件信息
#include
#include
#include “opencv2/core.hpp“
#include “opencv2/core/utility.hpp“
#include “opencv2/core/ocl.hpp“
#include “opencv2/imgcodecs.hpp“
#include “opencv2/highgui.hpp“
#include “opencv2/features2d.hpp“
#include “opencv2/calib3d.hpp“
#include “opencv2/imgproc.hpp“
#include“opencv2/flann.hpp“
#include“opencv2/xfeatures2d.hpp“
#include“opencv2/ml.hpp“
using namespace std;
using namespace cv;
using namespace xfeatures2d;
using namespace cv::ml;
int main(int argc char** argv)
{
Mat ab;
a = imread(“A.jpg“ 0); //读取要匹配的两张图像
b = imread(“B.jpg“ 0);
vector matches; //DMatch是用来描述匹配好的一对特征点的类,包含这两个点之间的相关信息
vector key1key2; //关键点容器
Mat cd; //sift描述子
Ptr sift = xfeatures2d::SIFT::create(0 3 0.04 10); //创建sift对象
BFMatcher matcher; //实例化一个暴力匹配器
sift->detectAndCompute(a noArray() key1 c); //给描述子赋值
sift->detectAndCompute(b noArray() key2 d);
matcher.match(c d matches); //匹配,数据来源是特征向量,结果存放在DMatch类型里面
//sort函数对数据进行升序排列
sort(matches.begin() matches.end()); //筛选匹配点,根据match里面特征对的距离从小到大排序
vector< D
相关资源
- YCbCr、混合高斯以及YCbCg肤色检测模型
- 光流法代码
- OpenCV打开摄像机显示在MFC窗口工程源
- 使用c++读取图像到二维矩阵
- 三维点云的圆柱面拟合
- MFC+OPENCV摄像机标定程序
- 基于特征脸的人脸识别MFC+OpenCV
- opencv图像处理MFC
- OPENCV人脸检测加角点检测并输出坐标
- FillHole.rar
- 道路提取算法 c++ opencv
- PCA代码实现详解
- opencv卡尔曼滤波
- SeamCarving opencv c++
- opencv prewitt边缘检测
- MFC中使用OpenCV显示选定文件夹中所有
- 车牌识别系统和车型识别系统源代码
- opencv 模糊C均值 c++
- 基于opencv的图像配准程序
- VC++直方图均衡化显示图像及直方图
- Opencv+VC6.0实现摄像头视频的监控
- opencv入门教程(C++版)
- 简单的几何图形识别程序源代码
- 虹膜分割 Iris Segmentation C++和opencv实现
- C++(OPENCV)摄像头标定代码带图片O
- 基于Opencv的交通流量实时检测
- 棋盘格标定图
- opencv视觉定位,C++编写的
- opencv循迹
- 任意曲线(S型等)调整图像色调,对
评论
共有 条评论