使用匹配寻找已知物体位置,并用方框标识出来。
使用劳氏算法进行特征点排除的时候,先进行的是匹配目标,然后是匹配标版。顺序弄错会drawmatches出错。
主要函数:
寻找透视变换:findHomography(InputArray src,//源平面上对应点
InputArray dst,//目标平面上对应点
int method=0,//计算方法,默认0,CV_RANSAC,CV_LMEDS三种
double ransacReprojThreshold=3,//允许重投影误差值,src,dst若以像素为单位,取1到10
OutputArray mask=noArray()//设置输出掩码)进行透视矩阵变换:perspectiveTransform(InputArray src,//原图像,需为双通道或三通道浮点型图像,每个元素是二维或三维可转换矢量
OutputArray dest,//保存运算结果
InputArray m //变换矩阵,3*3或4*4浮点型矩阵)
#include<opencv2/core/core.hpp>
#include<opencv2/features2d/features2d.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/calib3d/calib3d.hpp>
#include<opencv2/xfeatures2d/nonfree.hpp>
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
using namespace cv::xfeatures2d;
int main()
{
Mat srcImage1 = imread("1.jpg",