资源简介
在国外大学的网页上下载的,mean shift用于分割,分类图像。大家都知道 mean shift算法的应用领域是很广泛的,在跟踪,分割方面效果还是不错的。所以嘛,下载看看喽!
代码片段和文件信息
/////////////////////////////////////////////////////////////////////////////
// Name: fams.cpp
// Purpose: fast adaptive meanshift implementation
// Author: Ilan Shimshoni
// Modified by: Bogdan Georgescu
// Created: 08/14/2003
// Version: v0.1
/////////////////////////////////////////////////////////////////////////////
#include
#include
#include
#include
#include
#include
#include “fams.h“
FAMS::FAMS(int no_lsh)
{
hasPoints_ = 0;
nsel_ = 0;
npm_ = 0;
hashCoeffs_ = NULL;
noLSH_=no_lsh;
time_t tt1;
time(&tt1);
srand((unsigned)tt1);
// srand(100);
nnres1_ = 0;
nnres2_ = 0;
}
FAMS::~FAMS()
{
CleanData();
}
void FAMS::CleanData()
{
CleanPoints();
CleanSelected();
CleanPrunedModes();
CleanHash();
}
void FAMS::CleanPoints()
{
if (hasPoints_)
{
delete [] points_;
delete [] data_;
delete [] rr_;
hasPoints_ = 0;
}
}
void FAMS::CleanSelected()
{
if (nsel_ > 0)
{
delete [] psel_;
delete [] modes_;
delete [] hmodes_;
nsel_ = 0;
}
}
void FAMS::CleanPrunedModes()
{
if (npm_ > 0)
{
delete [] prunedmodes_;
delete [] nprunedmodes_;
npm_ = 0;
}
}
void FAMS::CleanHash()
{
if (hashCoeffs_ != NULL)
{
delete [] hashCoeffs_;
hashCoeffs_ = NULL;
}
}
int FAMS::LoadPoints(char* filename)
{
bgLog(“Load data points from %s...“filename);
CleanPoints();
FILE* fd;
fd = fopen(filename “r“);
if (!fd)
{
bgLog(“Error opening %s\n“ filename);
return 1;
}
fscanf(fd “%d %d“ &n_ &d_);
if ((n_<1) || (d_<1))
{
bgLog(“Error reading %s\n“ filename);
fclose(fd);
return 1;
}
// allocate data
float* pttemp;
pttemp = new float[n_*d_];
int i;
for (i=0; (i<(n_*d_)) && (fscanf(fd “%g“ &pttemp[i]) == 1); i++);
fclose(fd);
if (i!= (n_*d_))
{
bgLog(“Error reading %s\n“ filename);
delete [] pttemp;
return 1;
}
// allocate and convert to integer
for (i=0 minVal_=pttemp[0] maxVal_=pttemp[0]; i<(n_*d_); i++)
{
if (minVal_>pttemp[i])
minVal_ = pttemp[i];
else if (maxVal_ maxVal_ = pttemp[i];
}
data_ = new unsigned short[n_*d_];
rr_ = new double[d_];
hasPoints_ = 1;
float deltaVal = maxVal_-minVal_;
if (deltaVal == 0) deltaVal = 1;
for (i=0; i<(n_*d_); i++)
data_[i] = (unsigned short) (65535.0*(pttemp[i]-minVal_)/deltaVal);
delete [] pttemp;
dataSize_ = d_*sizeof(unsigned short);
points_ = new fams_point[n_];
unsigned short* dtempp;
for (i=0 dtempp=data_; i {
points_[i].data_ = dtempp;
points_[i].usedFlag_ = 0;
}
bgLog(“done\n“);
return 0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 91136 2003-11-27 14:22 fams.ncb
文件 54784 2003-11-27 14:22 fams.opt
文件 1228 2003-11-27 14:22 fams.plg
文件 36476 2003-11-27 14:22 fams.cpp
文件 11187 2003-11-27 13:56 fams.h
文件 4336 2003-11-26 10:22 fams.dsp
文件 3370 2003-10-05 15:43 README.txt
文件 531 2003-08-14 13:39 fams.dsw
- 上一篇:操作系统-页式存储管理
- 下一篇:基于视觉熵的视觉注意计算模型
相关资源
- MeanShift算法优缺点
- Kmeans.rar
- meanshift跟踪算法及源码
- 自动选择跟踪窗尺度的Mean-Shift 算法
- Charles Elkan的快速k-means算法的代码
- K-均值聚类实现路标检测
- K-medoids聚类源代码K-means改进
- 关于k-means的一篇好的总结论文
- kmeans图像聚类程序
- Kmeans++算法对图像进行分割
-
Efficient Graph-ba
sed Image Segmentation & - 基于SIFT+Kmeans+SVM的场景识别报告
- 多种K-means聚类算法或改进算法包,
- PTZ目标跟踪算法程序
- KMeans GMM
- camshift+kalman+LBP特征目标跟随算法实现
- usernameANDpassword
- 论文研究-水下目标检测与跟踪:GVF
- 煤岩图像边界的K-means识别算法
- 用MapReduce实现KMeans算法
- k-means训练
- meanshift算法实现.rar
- 机器学习Kmeans实验报告
- k-means算法用到的数据集
- 自适应布谷鸟搜索的并行K-means聚类算
- DM642上的meanshift代码主要部分
- 基于mean shift的医学影像分割
- Caffe-ssd的宽高比聚类
- 改进的k-means算法
- k_means聚类算法和配套测试鸢尾花数据
评论
共有 条评论