多语言展示
当前在线:587今日阅读:103今日分享:49

OpenCV图像相似度ORB算法(图像特征比对)

ORB是是ORiented Brief的简称,是BRIEF算法的改进。ORB采用贪婪穷举的方法得到了相关性较低的随机点对,还有一个改进就是对于随机点对,受噪声的影响很大BRIEF的办法就是对原图像滤波,降低噪声的影响,ORB不在使用像素点的直接比较,而是选择该像素为中心的一个小patch作为比较对象,提高了抗噪能力。本文假定您以成功配置opencv相关环境,以下就是将图片进行ORB相似度算法的详细过程。
方法/步骤
1

引入必要的头文件:#include #include 'opencv2/core/core.hpp' #include 'opencv2/features2d/features2d.hpp'#include 'opencv2/highgui/highgui.hpp'#include 'opencv2/nonfree/nonfree.hpp'#include 'opencv2/nonfree/features2d.hpp'

2

声明命名空间:using namespace std;using namespace cv;

3

声明函数:int getORB(char * imagePatha,char * imagePathb);

4

添加函数:int getORB(char * imagePatha,char * imagePathb){   double t;   t=getTickCount();   Mat img_1 = imread(imagePatha);   Mat img_2 = imread(imagePathb);   if (!img_1.data || !img_2.data)   {      cout << 'error reading images ' << endl;      return -1;   }   ORB orb;   vector keyPoints_1, keyPoints_2;   Mat descriptors_1, descriptors_2;   orb(img_1, Mat(), keyPoints_1, descriptors_1);   orb(img_2, Mat(), keyPoints_2, descriptors_2);   BruteForceMatcher matcher;   vector matches;   matcher.match(descriptors_1, descriptors_2, matches);   double max_dist = 0; double min_dist = 100;   for( int i = 0; i < descriptors_1.rows; i++ )   {      double dist = matches[i].distance;      if( dist < min_dist ) min_dist = dist;      if( dist > max_dist ) max_dist = dist;   }   printf('-- Max dist : %f \n', max_dist );   printf('-- Min dist : %f \n', min_dist );   std::vector< DMatch > good_matches;   for( int i = 0; i < descriptors_1.rows; i++ )   {     if( matches[i].distance < 0.6*max_dist ){      good_matches.push_back(matches[i]);      }   }   t=getTickCount()-t;  t=t*1000/getTickFrequency();  Mat img_matches;  drawMatches(img_1, keyPoints_1, img_2, keyPoints_2,good_matches, img_matches,   Scalar::all(-1), Scalar::all(-1),vector(),   DrawMatchesFlags::NOT_DRAW_SINGLE_POINTS);  imshow( 'Match', img_matches);      printf( '%f ms\n', t );  cvWaitKey(0);  return 0;}

5

调用: getORB('/home/chery/eyesame/1.jpg','/home/chery/eyesame/2.jpg');即可返回相似度比较的图像。

推荐信息