資源簡介
logo識別項目

代碼片段和文件信息
//
//??ExtractSIFT.cpp
//??invertedIndex
//
//??Created?by?xuhuaiyu?on?14-12-4.
//??Copyright?(c)?2014年?xuhuaiyu.?All?rights?reserved.
//
#include?“opencv2/highgui/highgui.hpp“
#include?“opencv2/calib3d/calib3d.hpp“
#include?“opencv2/imgproc/imgproc.hpp“
#include?“opencv2/features2d/features2d.hpp“
#include?“opencv2/nonfree/nonfree.hpp“
#include?
using?namespace?cv;
using?namespace?std;
//此處定義了K-means聚類的中心數(shù)注意定義的聚類中心數(shù)肯定是不能大于特征點的個數(shù)了
//本程序只針對img1進行了聚類,所以宏定義的種類數(shù)較少
void?extractSIFTDescriptor(string);//提取SIFT特征
Mat?k_means(Mat&??int?);//k-means聚類
/**
?1.提取SIFT特征點
?2.獲得所有圖片的SIFT特征點的特征描述符矩陣(此處還需要寫一個管理圖片訓(xùn)練集的類)
?3.利用特征描述符矩陣進行K-means聚類,獲得視覺單詞表
?*/
/**
?提取SIFT特征:
?
?dir:圖片訓(xùn)練集的目錄
?*/
void?extractSIFTDescriptor(string?dir){
????cv::initModule_nonfree();//使用SIFT/SURF?create之前,必須先initModule_();
????
????Ptr?detector?=?FeatureDetector::create(?“SIFT“?);
????
????PtrriptorExtractor>?descriptorExtractor?=?DescriptorExtractor::create(?“SIFT“?);
????if(?detector.empty()?||?descriptorExtractor.empty()?)
????{
????????cout?<“Can?not?create?detector?or?descriptor?extractor?of?given?types“?<????????return?;
????}
????
????Mat?allDescriptors?;//將所有圖片的特征描述符存儲在一起
????
????
????//------------------------------------------------------------------------------------------
????//下面需要寫一個管理圖片訓(xùn)練集的類
????/**
?????遍歷訓(xùn)練圖片集文件夾,提取每張圖片的SIFT特征點及特征點的特征描述符并合并在一起
?????*/
????Mat?img;
????vector?keypoints;
????detector->detect(?img?keypoints?);//特征點
????
????Mat?descriptors;//特征點的特征描述符
????descriptorExtractor->compute(?img?keypoints?descriptors?);
????
????allDescriptors.push_back(descriptors);//將該圖像所有特征點的特征描述符附加到總特征描述符矩陣的末尾
????
????//------------------------------------------------------------------------------------------
????
????
????
????
???//此時已經(jīng)得到了allDescriptor,及所有特征點的特征描述符下面該進行聚類和統(tǒng)計詞頻的操作
????int?clusterNumber?=?10;//k_means聚類中心數(shù)
????Mat?center?=?k_means(allDescriptors?clusterNumber);//center矩陣存儲視覺單詞表
???
????
}
/**
?k-means聚類:
?
?allDescriptors:所有圖片的特征點的特征描述符矩陣
?clusterNum:類別數(shù)
?
?return:聚類后的視覺單詞表
?*/
Mat?k_means(Mat&?allDescriptors?int?clusterNum){
????
????BOWKMeansTrainer?bowK(clusterNum
??????????????????????????cvTermCriteria?(CV_TERMCRIT_EPS?+?CV_TERMCRIT_ITER?10?0.1)32);
????return?bowK.cluster(allDescriptors);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\
?????文件???????41909??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\project.pbxproj
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\project.xcworkspace\
?????文件?????????158??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\project.xcworkspace\contents.xcworkspacedata
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\project.xcworkspace\xcuserdata\
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\project.xcworkspace\xcuserdata\xuhuaiyu.xcuserdatad\
?????文件???????37412??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\project.xcworkspace\xcuserdata\xuhuaiyu.xcuserdatad\UserInterfaceState.xcuserstate
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\xcuserdata\
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\xcuserdata\xuhuaiyu.xcuserdatad\
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\xcuserdata\xuhuaiyu.xcuserdatad\xcdebugger\
?????文件??????????91??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\xcuserdata\xuhuaiyu.xcuserdatad\xcdebugger\Breakpoints_v2.xcbkptlist
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\xcuserdata\xuhuaiyu.xcuserdatad\xcschemes\
?????文件????????3191??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\xcuserdata\xuhuaiyu.xcuserdatad\xcschemes\invertedIndex.xcscheme
?????文件?????????485??2015-01-26?06:51??Logo_recognition-master\invertedIndex.xcodeproj\xcuserdata\xuhuaiyu.xcuserdatad\xcschemes\xcschememanagement.plist
?????目錄???????????0??2015-01-26?06:51??Logo_recognition-master\invertedIndex\
?????文件????????2982??2015-01-26?06:51??Logo_recognition-master\invertedIndex\ExtractSIFT.cpp
?????文件????????1434??2015-01-26?06:51??Logo_recognition-master\invertedIndex\ImgSet.cpp
?????文件?????????789??2015-01-26?06:51??Logo_recognition-master\invertedIndex\ImgSet.h
?????文件?????????172??2015-01-26?06:51??Logo_recognition-master\invertedIndex\SIFTDesc
?????文件????????1517??2015-01-26?06:51??Logo_recognition-master\invertedIndex\SIFTDesc
?????文件???????29165??2015-01-26?06:51??Logo_recognition-master\invertedIndex\main.cpp
評論
共有 條評論