2022/01/01/SAT(HappyNewYear)
import cv2 as cv
import matplotlib.pyplot as plt
import pandas as pd
img = cv.imread('KakaoTalk_20210927_192557462.jpg',0)
# 이미지 저장하는 과정
- 마지막 숫자 0 : 이미지를 흑백으로 저장
cmap = 'gray' => 흑백으로 불러와라
vmin & vmax의 범위는 명암 범위? 뭐 이런 것 같음
plt.imshow(img,cmap='gray',vmin=0,vmax=255)
plt.colorbar()
img
- 이미지자료 : 0(검정)~255(흰색) 사이의 어떠한 숫자들이 포함된 매트릭스
2차원으로 이루어졌음
plt.imshow(img[500:600,500:600],cmap='gray',vmin=0,vmax=255)
img.shape
- 이미지는 1084x1084=1175056 개의 숫자의 모임
- 벡터로 만든다음 히스토그램을 그려보자
fig1=plt.hist(img.flatten(),256,[0,256])
#0부터 256까지 256개로 잘라서 각 범주당 개수를 표현
- 히스토그램을 그려보니 특정 구간에 너무 값들이 모여있음
- 원래 0~255까지의 색을 표현할 수 있는데 컴퓨터가 표현가능한 색상보다 적은 조합만을 사용하고 있음.
- 아이디어: 좀 더 많은 색상을 표현할 수 없을까? $\to$ 위의 히스토그램은 좀 평평하게 만들면 되지 않을까?
img2=cv.equalizeHist(img)
fig2_1=plt.hist(img2.flatten(),256,[0,256])
- 값의 분포도가 커졌음
plt.imshow(img2,cmap='gray',vmin=0,vmax=255)
plt.colorbar()
import numpy as np
_img=np.hstack((img,img2))
plt.imshow(_img,cmap='gray')