2012-11-17 4 views
0

내 점수는 이미지에서 가장 자주 나타나는 색을 얻는 것이므로 k- 평균 알고리즘을 구현했습니다. 알고리즘은 훌륭하게 작동하지만 결과는 내가 기다리고있는 것이 아닙니다. 그래서 이제는 k-means ++를 구현하는 것이 처음으로 개선되었으므로 inicial 클러스터 센터에 대한 더 나은 위치를 얻었습니다.K-Means plus plus 구현

먼저 임의의 점을 선택하지만 다른 점은 어떻게 선택할 수 있습니까? 나는 그것들 사이의 최소 거리를 어떻게 정의 하는지를 의미한다.

어떤 도움이 필요합니까? 감사합니다

+0

입력 데이터가 무엇인지 알아야합니다. K-means는 클러스터링 알고리즘이며 주파수 카운터는 아닙니다. – Rubens

+0

물론, 내 입력 데이터는 RGB에서 Lab으로 변환 된 이미지 픽셀입니다. –

+1

각 픽셀은 다른 색상을 나타내므로 각 색상의 빈도를 계산하고 가장 빈번한 색상을 선택하는 것이 해결책이 아닙니까? 또는 당신이 원하는 것은 "이미지에서 가장 빈번한 색상을 얻는 것"이 ​​아닌 다른 것입니까? – Rubens

답변

0

벡터 양자화를 사용할 수 있습니다. x + 1과 y + 1 방향으로 각 픽셀과 각 인접 픽셀의 목록을 만들고 차이를 선택하고 대각선을 따라 그릴 수 있습니다. 그런 다음 보로 노이 다이어그램을 계산하고 평균 색을 얻고 피쳐 벡터를 계산할 수 있습니다. 간단한 그리드 기반의 평균 색을 사용하면 약간 더 효과적입니다.

+0

그냥 k-means를 향상시키는 것일까? 아니면 k-means를 변경하는 것일까 요? –

+0

그렇습니다. k-means를 개선하는 것입니다. – Bytemain