Processor

【OpenCV】 K-평균 군집화 알고리즘(K-means Clustering Algorithm)

작성자 임베디드코리아 작성일26-04-16 22:49 조회110회 댓글0건
< *  K-평균 군집화 알고리즘(K-means Clustering Algorithm)  * >

◆ K-평균 군집화 알고리즘(K-means Clustering Algorithm)은 비지도 학습의 대표적인 알고리즘 중 하나로
  라벨(Label)이 달려 있지 않은 입력 데이터에 라벨을 달아wns다.
◆ K-평균 군집화 알고리즘의 방식은 임의의 K개의 중심점(Centroid)를 기준으로
  최소 거리에 기반한 군집화를 진행한다.
◆ 각각의 데이터는 가장 가까운 중심에 군집(Cluster)을 이루며,
    같은 중심에 할당된 데이터는 하나의 군집군으로 형성된다.


----< 예제 :  K-means_Clustering.py  >-------------------------------------------------------------------
import numpy as np
import cv2

src = cv2.imread("Image/flower.jpg")

data = src.reshape(-1, 3).astype(np.float32)
criteria = (cv2.TERM_CRITERIA_MAX_ITER + cv2.TERM_CRITERIA_EPS, 10, 0.001)
retval, bestLabels, centers = cv2.kmeans(data, 5, None, criteria, 10, cv2.KMEANS_RANDOM_CENTERS)

centers = centers.astype(np.uint8)
dst = centers[bestLabels].reshape(src.shape)

cv2.imshow("dst", dst)
cv2.waitKey()
cv2.destroyAllWindows()
--------------------------------------------------------------------------------------------------------