Sesac 30일차

SungMin·2022년 11월 15일
0

Sesac-Python

목록 보기
6/11

Numpy

N차원 배열의 선형대수학

from scipy import misc
import numpy as np
import matplotlib.pyplot as plt

img = misc.face()
plt.imshow(img)
plt.show()

red_array = img_array[:, :, 0]
green_array = img_array[:, :, 1]
blue_array = img_array[:, :, 2]

from numpy import linalg
img_gray = img_array @ [0.2126, 0.7152, 0.0722]

plt.imshow(img_gray, cmap="gray")
plt.show()


  • 이미지 화질 변환하기
# 이미지를 분해한 후 다시 합침
U, s, Vt = linalg.svd(img_gray)
U.shape, s.shape, Vt.shape
Sigma = np.zeros((U.shape[1], Vt.shape[0])) # U.shape[1] -> 768, Vt.shape[0] -> 1024
np.fill_diagonal(Sigma, s) # 대각선 위치에 데이터를 채워줌

# k값 조정으로 화질 변환
linalg.norm(img_gray - U @ Sigma @ Vt)

k = 50
approx = U @ Sigma[:, :k] @ Vt[:k, :]
plt.imshow(approx, cmap="gray")
plt.show()

k = 10
approx = U @ Sigma[:, :k] @ Vt[:k, :]
plt.imshow(approx, cmap="gray")
plt.show()


Pandas

  • Do it! 데이터 분석을 위한 판다스 입문
  • 교재 실전 예제를 다운받아서 학습
profile
초보 개발자의 학습 저장용 블로그

0개의 댓글