資源簡介
在國外大學的網(wǎng)頁上下載的,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
- 上一篇:操作系統(tǒng)-頁式存儲管理
- 下一篇:基于視覺熵的視覺注意計算模型
評論
共有 條評論