Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- Oracel
- level 2
- Numpy
- matplotlib
- 머신러닝
- level 1
- python3
- pandas
- 알고리즘
- 파이썬
- R
- Kaggle
- 카카오
- 빅분기
- sklearn
- seaborn
- Python
- oracle
- 빅데이터 분석 기사
- 튜닝
- 실습
- 데이터 분석
- 코딩테스트
- SQL
- 실기
- 오라클
- 프로그래머스
Archives
- Today
- Total
라일락 꽃이 피는 날
[R] K-means clustering (K-평균 군집화) 2 본문
728x90
사진 데이터 불러오기
library(jpeg)
img <- readJPEG('cat.jpeg')

데이터 확인
class(img) # "array"
dim(img) # 1280 1920 3
3차원 데이터를 2차원으로 펼침
imgdim <- as.vector(dim(img))
imgRGB <- data.frame(
x = rep(1:imgdim[2], each = imgdim[1]),
y = rep(imgdim[1]:1, imgdim[2]),
R = as.vector(img[,,1]),
G = as.vector(img[,,2]),
B = as.vector(img[,,3])
)
head(imgRGB)

색상 개수 축소
# 축소할 색상 클러스터 개수
kClusters <- c(3, 5, 10, 15, 30, 50)
set.seed(1234)
for (i in kClusters) {
img.kmeans <- kmeans(imgRGB[, c("R", "G", "B")], centers = i)
img.result <- img.kmeans$center[img.kmeans$cluster,]
img.array <- array(img.result, dim = imgdim)
writeJPEG(img.array, paste('kmeans_', i, 'clusters.jpeg', sep = ''))
}

728x90
'데이터 분석 > R' 카테고리의 다른 글
| [R] Hierarchical clustering (계층적 군집화) (0) | 2021.07.08 |
|---|---|
| [R] K-means clustering (K-평균 군집화) 1 (0) | 2021.07.08 |
| [R] PCA (주성분 분석) 2 (0) | 2021.07.08 |
| [R] PCA (주성분 분석) 1 (0) | 2021.07.08 |
| [R] Support Vector Machine (SVM) (0) | 2021.07.02 |