본문 바로가기
수업(국비지원)/Python

[Python] 컬러 이미지 분석하기

by byeolsub 2023. 4. 27.

 📌

#########################################
# 컬러 이미지 분석하기
# 인터넷을 통해 이미지 조회하기

image_path = tf.keras.utils.get_file('cat.jsp', '<http://bit.ly/33U6mH9>')
image_path
image = plt.imread(image_path) # 고양이 이미지의 배열값
image.shape # (241, 320, 3) 
import cv2
cv2.imshow("cat", image)
plt.imshow(image)
brg = cv2.split(image)

# 색상별로 분리
bgr = cv2.split(image)
bgr[0].shape # 빨강
bgr[1].shape # 초록
bgr[2].shape # 파랑
plt.imshow(bgr[0]) 
cv2.imshow("cat", bgr[0]) # 흑백
titles = ['RGB', 'Red', 'Green', 'Blue']
# zeros_like : bgr[0] 구조와 같은 배열을 생성.
#              값을 0으로 채워서 생성.
zero = np.zeros_like(bgr[0], dtype="uint8")
red = cv2.merge([bgr[0], zero, zero])
green = cv2.merge([zero, bgr[1], zero])
blue = cv2.merge([zero, zero, bgr[2]])

# images : 이미지배열의 리스트.
images = [image,red,green,blue]

# 그래프의 영역을 1행 4열로 생성. 크기는 13,3으로 설정.
# axes : 그래프가 출력되는 4개의 영역들 
fig, axes = plt.subplots(1, 4, figsize=(13,3))
objs = zip(axes, titles, images)
for ax, title, img in objs : 
    ax.imshow(img)
    ax.set_title(title)
    ax.set_xticks(()) # x축 없음
    ax.set_yticks(()) # y축 없음