[54일차] ASAC 빅데이터 분석가 4기(DL-6)

2024. 2. 19. 13:54· ASAC 빅데이터 분석가 4기/Deep Learning
목차
  1. ⚙️ 이미지 처리
  2. 📌 라이브러리 및 이미지 로드
  3. 📌 이미지 채널 분리 & 병합
  4. 📌 이미지 색상 공간 변환
  5. 📌 이미지에 대한 어파인 변환
  6. 📌 이미지 해상도 조절

⚙️ 이미지 처리

📌 라이브러리 및 이미지 로드

import matplotlib.pyplot as plt
%matplotlib inline
import matplotlib.cm as cm
import numpy as np
import cv2

!gdown 1cHcUDb4ziI6UKr4Xq1aLRqS8JCNM-aHf

img_path = "/content/sohn.jpg"
image = cv2.imread(img_path)

imgRGB = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
  • cv2.imread()를 통해 이미지를 불러오면, 기본적으로 BGR 형태로 가져온다.
  • 따라서 BGR2RGB를 사용한 색상 변환을 거쳐야 원본 이미지를 가져온다.
from google.colab.patches import cv2_imshow

img = cv2.imread(img_path)
  • from google.colab.patches import cv2_imshow를 사용하면 바로 원본을 가져온다.

📌 이미지 채널 분리 & 병합

# 채널을 각각 분리
r = cv2_imshow(imgRGB[:, :, 0])
g = cv2_imshow(imgRGB[:, :, 1])
b = cv2_imshow(imgRGB[:, :, 2])

# 채널을 자동으로 분리
r, g, b = cv2.split(imgRGB)
  • 이미지의 채널을 지정해서 분리해줄 수 있다.
  • cv2.split()을 통해 자동으로 분리하는 것도 가능하다.
temp = cv2.merge([b, g, r])
  • 분리된 채널들을 cv2.merge()를 통해 원본으로 복구할 수 있다.

📌 이미지 색상 공간 변환

g = cv2.cvtColor(imgRGB, cv2.COLOR_RGB2GRAY)
  • cv2.cvtColor()를 통해 이미지를 흑백, 또는 다양한 색상으로 변환할 수 있다.

📌 이미지에 대한 어파인 변환

# 평행 이동
tx = 600
ty = 800

translation_matrix = np.float32([[1, 0, tx], [0, 1, ty]])
translated_image = cv2.warpAffine(imgRGB, translation_matrix, (image.shape[1], image.shape[0]))
# 회전
angle = 45

height, width = imgRGB.shape[:2]
center = (width // 2, height // 2)

rotation_matrix = cv2.getRotationMatrix2D(center, angle, 1.0)
rotated_image = cv2.warpAffine(imgRGB, rotation_matrix, (width, height))
  • cv2.warpAffine을 통해 이미지에 대한 평행 이동, 회전 등을 수행할 수 있다.
  • 이러한 변환을 '어파인 변환'이라고 한다.

📌 이미지 해상도 조절

scale_width = 0.05
scale_height = 0.05

new_width = int(imgRGB.shape[1] * scale_width)
new_height = int(imgRGB.shape[0] * scale_height)

scaled_image = cv2.resize(imgRGB, (new_width, new_height))
  • cv2.resize() 옵션을 통해 이미지 해상도를 조절할 수 있다.
저작자표시 비영리 변경금지 (새창열림)
  1. ⚙️ 이미지 처리
  2. 📌 라이브러리 및 이미지 로드
  3. 📌 이미지 채널 분리 & 병합
  4. 📌 이미지 색상 공간 변환
  5. 📌 이미지에 대한 어파인 변환
  6. 📌 이미지 해상도 조절
'ASAC 빅데이터 분석가 4기/Deep Learning' 카테고리의 다른 글
  • [56일차] ASAC 빅데이터 분석가 4기(DL-8)
  • [55일차] ASAC 빅데이터 분석가 4기(DL-7)
  • [52일차] ASAC 빅데이터 분석가 4기(DL-5)
  • [50일차] ASAC 빅데이터 분석가 4기(DL-4)
zzzini
zzzini
종착지는 어디인지 모르지만
zzzini
나의 표류일지
zzzini
전체
오늘
어제
  • 분류 전체보기 (308)
    • ASAC 빅데이터 분석가 4기 (44)
      • Python기초 (6)
      • SQL (3)
      • Matplotlib & Seaborn (2)
      • Data Handling (6)
      • Web Crawling (3)
      • Machine Learning (9)
      • Deep Learning (10)
      • 데이터 분석 (1)
      • 기타 (2)
      • 수학 (2)
    • 코딩 테스트 준비 (168)
      • 5정한 (132)
      • 카카오 (14)
      • PCCP & PCCE (3)
      • 프로그래머스 (19)
    • 자격증 (35)
      • AWS CLF-C02 (18)
      • AWS SAA-C03 (1)
      • Tableau Desktop Specialist (5)
      • Tableau Certified Data Anal.. (11)
    • 독서 (17)
    • Tech (24)
      • Tableau (11)
      • AI (4)
      • Flask (1)
      • Node.js (2)
      • Cloud Computing (2)
      • Git & GitHub (1)
      • Notion API (1)
      • Linux (2)
    • Projects (2)
    • 알고리즘 공부 (6)
    • 🎵 (11)

블로그 메뉴

  • 글 쓰기
  • 홈
  • 방명록

공지사항

hELLO · Designed By 정상우.v4.2.1
zzzini
[54일차] ASAC 빅데이터 분석가 4기(DL-6)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.