K-means Cluster Threshold

1 개요

K-means Clustering을 통해 이미지를 양자화 처리하는 알고리즘입니다.

2 알고리즘 상세 설명

K-means Clustering은 입력 데이터를 K개의 클러스터로 나누는 대표적인 비지도 학습 알고리즘입니다. K-means Cluster Threshold 알고리즘은 각 픽셀을 하나의 데이터 포인트로 간주하여, 색상 유사성을 기반으로 유사한 픽셀들을 묶어 영역을 분리하는 데 활용됩니다.

Source Number of Clusters
2 4 8
Source Cluster 2 Cluster 4 Cluster 8
Fig. Cluster 갯수에 따른 결과 비교

CKMeansClusterThreshold kMeansClusterThreshold;

CFLImage fliSourceImage;
kMeansClusterThreshold.SetSourceImage(fliSourceImage);

kMeansClusterThreshold.SetNumOfCluster(2);

kMeansClusterThreshold.Execute();
CKMeansClusterThreshold kMeansClusterThreshold = new CKMeansClusterThreshold();

CFLImage fliSourceImage = new CFLImage();
kMeansClusterThreshold.SetSourceImage(ref fliSourceImage);

kMeansClusterThreshold.SetNumOfCluster(2);
	
kMeansClusterThreshold.Execute();
kMeansClusterThreshold = CKMeansClusterThreshold()

fliSourceImage = CFLImage()
kMeansClusterThreshold.SetSourceImage(fliSourceImage)

kMeansClusterThreshold.SetNumOfCluster(2)

kMeansClusterThreshold.Execute()

3 파라미터 설정 및 사용 방법

멤버함수 파라미터 설 명
SetNumOfCluster int32_t i32NumOfCluster IN 클러스터 갯수

i32NumOfCluster - Default Value : 4

멤버함수 파라미터 설 명
SetMaxIteration int64_t i64MaxIteration IN 최대 반복 횟수

i64MaxIteration - Default Value : 10

멤버함수 파라미터 설 명
SetInitializeCentroidMethod ImageProcessing::CKMeansClusterThreshold::EInitializeMethod eInitializeMethod IN Cluster 초기화 방법

Cluster 초기화 방법을 설정합니다. Auto는 K-means++의 centroid 초기화 방법을 사용합니다. Random의 경우, 무작위로 centroid가 설정됩니다.
eInitializeMethod - Default Value: EInitializeMethod_Auto, Recommended Value: EInitializeMethod_Auto