이미지를 위한 NumPy

Python으로 배우는 이미지 처리

Rebeca Gonzalez

Data Engineer

이미지를 위한 NumPy

  • 이미지 처리 기초
    • 뒤집기
    • 특징 추출·분석

공원에서 걷는 귀여운 강아지

좌우로 뒤집힌 귀여운 강아지

Python으로 배우는 이미지 처리

NdArray로서의 이미지

마드리드 건물

# Matplotlib로 이미지 불러오기
madrid_image = plt.imread('/madrid.jpeg')

type(madrid_image)
<class 'numpy.ndarray'>
Python으로 배우는 이미지 처리

NumPy와 색상

포도 이미지와 아래 3개 색상 채널 이미지

Python으로 배우는 이미지 처리

NumPy와 색상

# 이미지의 빨간색 값 추출
red = image[:, :, 0]

# 이미지의 초록색 값 추출
green = image[:, :, 1]

# 이미지의 파란색 값 추출
blue = image[:, :, 2]

이미지의 채널을 분리해 표시

Python으로 배우는 이미지 처리

NumPy와 색상

젊은 여성 이미지의 채널을 분리해 회색조로 표시

plt.imshow(red, cmap="gray")    
plt.title('Red')
plt.axis('off')
plt.show()
Python으로 배우는 이미지 처리

Shape

마드리드 건물

# 이미지의 shape 확인
madrid_image.shape
(426, 640, 3)
Python으로 배우는 이미지 처리

Size

마드리드 건물

# 이미지의 크기(요소 수) 확인
madrid_image.size
817920
Python으로 배우는 이미지 처리

영상 뒤집기: 수직

# 이미지를 위아래로 뒤집기
vertically_flipped = np.flipud(madrid_image)

show_image(vertically_flipped, 'Vertically flipped image')

마드리드 이미지(수직 반전)

Python으로 배우는 이미지 처리

영상 뒤집기: 수평

# 이미지를 좌우로 뒤집기
horizontally_flipped = np.fliplr(madrid_image)

show_image(horizontally_flipped, 'Horizontally flipped image')

마드리드 이미지(수평 반전)

Python으로 배우는 이미지 처리

히스토그램이란?

어두운 이미지의 히스토그램 밝은 이미지의 히스토그램

Python으로 배우는 이미지 처리

색상 히스토그램

젊은 여성의 RGB 3채널별 히스토그램

Python으로 배우는 이미지 처리

히스토그램의 활용

  • 분석
  • 임계값 처리
  • 밝기와 대비
  • 히스토그램 평활화

임계값 처리된 이미지

Python으로 배우는 이미지 처리

Matplotlib에서 히스토그램

빨간색 채널 히스토그램

# 이미지의 빨간색 채널
red = image[:, :, 0]

# 빨간색 히스토그램 계산 plt.hist(red.ravel(), bins=256)
Python으로 배우는 이미지 처리

Matplotlib로 히스토그램 시각화

blue = image[:, :, 2]

plt.hist(blue.ravel(), bins=256)
plt.title('Blue Histogram')
plt.show()

이미지의 파란색 채널 히스토그램

Python으로 배우는 이미지 처리

연습해 봅시다!

Python으로 배우는 이미지 처리

Preparing Video For Download...