2011-11-30 2 views
1

Opencv에서 약간의 경험이 있습니다. 이미지 색상을 클러스터하고 싶습니다.단일 이미지에서 색상을 클러스터하는 방법은 무엇입니까?

내가 6 클러스터들 각각은 자신의 위치보다 (X, Y)

world continent

함께 그 RGB 값으로 클러스터 이름을 갖는 가야 : I는 아래 이미지 클러스터 예를 들어

Opencv 또는 opensource 패키지를 사용하여이를 수행 할 수있는 방법이 있습니까? Java 및 C에 익숙합니다. 자세한 내용을 원하면 의견을 게시하십시오.

+0

무엇을 기대합니까? 각 색상/클러스터에 대한 iplimage? 해결책은 얼마나 복잡해야합니까? 빨간색의 색조가 같은 클러스터에 있거나 정확히 rgb 값으로 클러스터되어야합니까? 예 : 제공된 이미지에는 9 개의 클러스터가 있습니다. 빨간색, 초록색, 노란색, 파란색, 보라색, 구토 (이 색상에는 더 좋은 이름은 없음) 및 검은 색 외곽선의 3 개의 연결된 구성 요소가 있습니다. – Boaz

+0

@ Boaz.Jan 난 그냥 6 (x, y) 좌표 같은 결과를 원한다. 각 클러스터의 중심 (즉, 각 대륙)의 (x, y) 점을 가리킨다. – Nandha

답변

0

cvBlobLib를 살펴 보라와 함께, 6 클러스터가 특정 이미지에 대한 OpenCV의

0

과의 부가 (각 색상). 나는 같은 색의 2 개의 클러스터가 존재하지 않는다는 것을 의미한다. 우리는 중심점을 찾아야한다고 생각합니다.

1) Point를 사용하여 픽셀의 위치를 ​​저장할 수 있습니다. 새로운 Point (폭, 높이).

2) 그러면 어떤 색의 픽셀이 필요한지 결정해야합니다. 모든 픽셀을 반복함으로써 color/cluster 수를 얻을 수도 있습니다.

3) 각 색상/클러스터에 대해 해당 색상이있는 모든 픽셀/포인트의 평균을 계산하여 중심점을 계산해야합니다.