• 大小: 25.31MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-10
  • 语言: 其他
  • 标签: BOW  词袋  K-means  KNN  

资源简介

SIFT等局部特征的词袋模型实现。包括K-means聚类,直方图特征的形成,以及KNN分类。

资源截图

代码片段和文件信息

#include “Feature.h“

Feature::Feature()
: datas(0)
{
}

Feature::Feature(int dim int category int Id)
: datas(dim0)
{
this->category = category;
this->Id = Id;
}

Feature::Feature(const Feature& feature)
: datas(feature.datas)
{
this->category = feature.category;
this->Id = feature.Id;
}

double Feature::getValueAt(int index)
{
return this->datas[index];
}

void Feature::updateValue(int pos double value)
{
this->datas[pos]= value;
}

void Feature::addValue(double value)
{
this->datas.push_back(value);
}

int Feature::getCategory()
{
return this->category;
}

int Feature::getId()
{
return this->Id;
}

int Feature::getDim()
{
return this->datas.size();
}

double Feature::calculateDistance(const Feature& feature int DistanceType)
{
if (datas.size() != feature.datas.size())
{
return 10000;
}
double distance = 0;
int featureDim = datas.size();
for (int i = 0; i < featureDim; i++)
{
distance += pow(fabs(datas[i] - feature.datas[i]) DistanceType);
}
distance = pow(distance 1. / DistanceType);
return distance;
}

istream& operator>>(istream& is Feature& feature)
{
int featureDim = feature.datas.size();
for (int i = 0; i < featureDim; i++)
{
is >> feature.datas[i];
}

if (featureDim != 0)
{
is >> feature.category;
}

return is;
}

Feature& Feature::operator=(const Feature& feature)
{
this->datas = feature.datas;
this->category = feature.category;

return *this;
}

Feature& Feature::operator+=(const Feature& feature)
{
int featureDim = this->datas.size();
if (featureDim != feature.datas.size())//特征值不同,不进行加法
{
return *this;
}

for (int i = 0; i < featureDim; i++)
{
this->datas[i] += feature.datas[i];
}
this->category = -1;//结果的特征类别不确定
return *this;
}

Feature& Feature::operator-=(const Feature& feature)
{
int featureDim = this->datas.size();
if (featureDim != feature.datas.size())//若特征维数不同,不能进行减法
{
return *this;
}

for (int i = 0; i < featureDim; i++)
{
this->datas[i] -= feature.datas[i];
}
this->category = -1;//结果的特征类别不确定
return *this;
}

Feature& Feature::operator*= (const Feature& feature)
{
int featureDim = this->datas.size();
if (featureDim != feature.datas.size())//若特征维数不同,不能进行乘法
{
return *this;
}

for (int i = 0; i < featureDim; i++)
{
this->datas[i] *= feature.datas[i];
}
this->category = -1;//结果的特征类别不确定
return *this;
}

Feature& Feature::operator/= (double scale)
{
if (scale == 0)
{
return *this;//倍数为0不进行除法
}
int featureDim = this->datas.size();
for (int i = 0; i < featureDim; i++)
{
this->datas[i] /= scale;
}
this->category = -1;//结果的特征类别不确定
return *this;
}

Feature Feature::operator+(const Feature& feature)
{
return Feature(*this) += feature;
}

Feature Feature::operator-(const Feature& feature)
{
return Feature(*this) -= feature;
}

Feature Feature::operator*(const Feature& feature)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-05-19 10:24  Bag-of-visual-words\
     目录           0  2014-05-19 10:24  Bag-of-visual-words\Bag-of-visual-words\
     文件        4440  2013-12-04 10:27  Bag-of-visual-words\Bag-of-visual-words\Bag-of-visual-words.vcxproj
     文件        1692  2013-12-04 10:27  Bag-of-visual-words\Bag-of-visual-words\Bag-of-visual-words.vcxproj.filters
     文件        3211  2013-12-04 13:31  Bag-of-visual-words\Bag-of-visual-words\Feature.cpp
     文件        1271  2013-12-04 13:31  Bag-of-visual-words\Bag-of-visual-words\Feature.h
     文件        1503  2013-12-04 12:50  Bag-of-visual-words\Bag-of-visual-words\FeatureSet.cpp
     文件         967  2013-12-04 13:22  Bag-of-visual-words\Bag-of-visual-words\FeatureSet.h
     文件        2105  2013-12-04 13:30  Bag-of-visual-words\Bag-of-visual-words\KMeans.cpp
     文件         384  2013-12-04 13:25  Bag-of-visual-words\Bag-of-visual-words\KMeans.h
     文件        1416  2013-12-04 13:30  Bag-of-visual-words\Bag-of-visual-words\KNN.cpp
     文件         278  2013-12-04 13:24  Bag-of-visual-words\Bag-of-visual-words\KNN.h
     文件        4232  2013-12-04 13:34  Bag-of-visual-words\Bag-of-visual-words\main.cpp
     目录           0  2013-12-02 16:33  Bag-of-visual-words\Bag-of-visual-words\局部特征\
     文件         162  2013-12-02 16:02  Bag-of-visual-words\Bag-of-visual-words\局部特征\~$说明文档.docx
     目录           0  2013-12-02 16:33  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\
     文件       86594  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\0.txt
     文件      100038  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\1.txt
     文件       97678  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\10.txt
     文件       98340  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\11.txt
     文件       83300  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\12.txt
     文件       73132  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\13.txt
     文件       67523  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\14.txt
     文件       99991  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\15.txt
     文件       65251  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\16.txt
     文件       65990  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\17.txt
     文件       68322  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\18.txt
     文件      107469  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\19.txt
     文件      117125  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\2.txt
     文件       59707  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\20.txt
     文件       70635  2013-11-12 08:57  Bag-of-visual-words\Bag-of-visual-words\局部特征\恐龙(feature)\21.txt
............此处省略379个文件信息

评论

共有 条评论