本文共 1265 字,大约阅读时间需要 4 分钟。
BRISK原理:
/* *@function BRISK_Detect.cpp *@brief 使用BRISK特征检测并匹配目标 *@author ltc *@date 17:16 Thursday,December 3rd,2015*/#include匹配结果:#include #include #include #include using namespace std;using namespace cv;int main(int argc,char* argv[]){ Mat queryImage,trainImage; queryImage=imread("4.jpg",IMREAD_COLOR); trainImage=imread("2.jpg",IMREAD_COLOR); vector queryKeyPoint,trainKeyPoint; Mat queryDescriptor,trainDescriptor; int thresh=60; int octave=4; float patternScale=1.0f; BRISK briskDetector(thresh,octave,patternScale); briskDetector.detect(queryImage,queryKeyPoint); briskDetector.compute(queryImage,queryKeyPoint,queryDescriptor); briskDetector.detect(trainImage,trainKeyPoint); briskDetector.compute(trainImage,trainKeyPoint,trainDescriptor); drawKeypoints(queryImage,queryKeyPoint,queryImage); drawKeypoints(trainImage,trainKeyPoint,trainImage); imshow("query",queryImage); imshow("train",trainImage); vector matches; BFMatcher matcher(NORM_HAMMING); matcher.match(queryDescriptor,trainDescriptor,matches); Mat image_match; drawMatches(queryImage,queryKeyPoint,trainImage,trainKeyPoint,matches,image_match); imshow("image_match",image_match); waitKey(0); return 0;}