Реализация алгоритма кластеризации MBSAS C ++ с использованием DIBLOOK

Я должен реализовать введите описание изображения здесьАлгоритм кластеризации BSAS для обработки изображений. (Базовая последовательная алгоритмическая схема).

Я нашел для него псевдокод и попробовал какую-то собственную реализацию, вот что у меня есть:

У меня проблемы с пониманием части этого кода, пожалуйста, скажите мне, что я делаю неправильно ….

struct pointInfo {
POINT p;
bool isLabeled;
};

struct cluster{
int label;
vector<POINT> points;
};

int nrOfClusters = 0;
int nrPoints;
int maxClusters;
float treshold=2;//assign this to a value
struct cluster clusters[1000];
struct pointInfo points[1000];

//save all the black points
for (int i = 0; i < dwHeight; i++)
for (int j = 0; j < dwWidth; j++){
if(lpSrc[i*w+j]==0){
points[nrPoints].p.x=i;
points[nrPoints].p.y=j;
points[nrPoints].isLabeled=false;
nrPoints++;
}
}

//MBSAS
nrOfClusters = 1;
clusters[nrOfClusters].label = nrOfClusters;
clusters[nrOfClusters].points.push_back(points[0].p);
points[0].isLabeled=true;

for(int i=1;i<nrPoints;i++){
//find Ck:d(xi,Ck) = min1<j<m d(xi,Cj)
int distance;//=...
if(distance>treshold && nrOfClusters<maxClusters){
nrOfClusters++;
clusters[nrOfClusters].label=nrOfClusters;
clusters[nrOfClusters].points.push_back(points[i].p);
}
}

//Pattern Classification
for(int i=0;i<nrPoints;i++){
if(points[i].isLabeled==false){
//find Ck:d(xi,Ck) = min1<j<m d(xi,Cj)
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector