91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .cpp
    金幣: 1
    下載: 1 次
    發布日期: 2021-06-16
  • 語言: C/C++
  • 標簽: BOW,SIFT??

資源簡介

實現對圖像的sift特征提取,并利用bow模型進行聚類,并對bow下的特征進行提取和保存

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“BowTrain.h“
#include?“stdafx.h“
#include
#include?
#include

#include?
#include?
#include?“opencv2/core/core.hpp“
#include?“opencv2/features2d/features2d.hpp“
#include?“opencv2/calib3d/calib3d.hpp“


BowTrain::BowTrain()
{
}


BowTrain::~BowTrain()
{
}

void?BowTrain::SiftExtract(string?path)
{
//Mat?features;
Directory?dir;


string?path2?=?“.\\DATA\\“;
string?exten2?=?“*“;//“Image*“;//“*“??
bool?addPath2?=?true;//false??


vector?foldernames?=?dir.GetListFolders(path2?exten2?addPath2);

int?i?=?0;
int?j?=?0;
int?cnt?=?0;
//Mat?features;
//vector?vectimageName;
int?clusterNum?=50;
cout?< BOWKMeansTrainer?trainer(clusterNum);
for?each?(String?var?in?foldernames)
{
String?dirtmp?=?foldernames.at(i);
vector?foldernamesTmp?=?dir.GetListFiles(dirtmp?exten2?addPath2);
cout?< j?=?0;
for?each?(String?vari?in?foldernamesTmp)
{
Mat?curImg;
curImg?=?imread(foldernamesTmp.at(j).c_str()?-1);
vector?keyPoints;
Mat?descriptor;
//sift關鍵點檢測
SiftFeatureDetector?detector;
detector.detect(curImg?keyPoints);
//sift關鍵點描述,角度,強度等
SiftDescriptorExtractor?extractor;
extractor.compute(curImg?keyPoints?descriptor);
//descriptor是每幅圖像的sift關鍵點描述
trainer.add(descriptor);
j++;
}
cout?< i++;
}

Mat?dictionary?=?trainer.cluster();

//將提取的特征存放到xml文件方便使用
//cout?< /*FileStorage?fs(“.\\Lab.xml“?FileStorage::WRITE);
fs?< fs.release();*/

FileStorage?fs(“.\\dictionary50.xml“?FileStorage::WRITE);
fs?<

評論

共有 條評論

相關資源