diff --git a/Code/Learning/otbKMeansImageClassificationFilter.txx b/Code/Learning/otbKMeansImageClassificationFilter.txx index 94afd618cbcb068151d07a49dfe60468fdc8a3a4..8ce9d8a22fabd789236c39b541dcd1c0db0172ca 100644 --- a/Code/Learning/otbKMeansImageClassificationFilter.txx +++ b/Code/Learning/otbKMeansImageClassificationFilter.txx @@ -147,7 +147,6 @@ KMeansImageClassificationFilter<TInputImage,TOutputImage,VMaxSampleDimension,TMa current_distance = tmp_dist; } } - std::cout<<"Pixel: "<<pixel<<" label: "<<current_label<<" centroid: "<<m_CentroidsMap[current_label]<<std::endl; outIt.Set(current_label); } ++outIt; diff --git a/Testing/Code/Learning/otbKMeansImageClassificationFilter.cxx b/Testing/Code/Learning/otbKMeansImageClassificationFilter.cxx index ccd67077092e7a15be63d1989d9a93a3f62225e5..862030cf4122bca4a905895ea1602dfae172073c 100644 --- a/Testing/Code/Learning/otbKMeansImageClassificationFilter.cxx +++ b/Testing/Code/Learning/otbKMeansImageClassificationFilter.cxx @@ -46,15 +46,19 @@ int otbKMeansImageClassificationFilter(int argc, char * argv[]) reader->SetFileName(infname); reader->GenerateOutputInformation(); - unsigned int parameterSize = nbClasses * reader->GetOutput()->GetNumberOfComponentsPerPixel(); + const unsigned int sampleSize = ClassificationFilterType::MaxSampleDimension; + const unsigned int parameterSize = nbClasses * sampleSize; KMeansParametersType parameters; parameters.SetSize(parameterSize); parameters.Fill(0); - for(unsigned int i = 0; i < parameterSize;++i) + for(unsigned int i = 0; i<nbClasses;++i) { - parameters[i]=atof(argv[4+i]); + for(unsigned int j = 0; j < reader->GetOutput()->GetNumberOfComponentsPerPixel();++j) + { + parameters[i*sampleSize+j]=atof(argv[4+i*reader->GetOutput()->GetNumberOfComponentsPerPixel()+j]); + } } std::cout<<"Parameters: "<<parameters<<std::endl;