[디지털 영상 처리] Image Load 실습

2024. 3. 26. 10:18·AI & ML/컴퓨터 비전
목차
  1. Jupyter Notebook 기본 단축기
  2. Image Load

본 글은 Jupyter Notebook 을 활용한다.

 

Jupyter Notebook 기본 단축기

a : 지금 셀 앞에 새로운 셀 추가
b : 지금 셀 뒤에 새로운 셀 추가
m : 현재 셀을 Markdown 형식으로 변경
dd : 현재 셀 삭제
Ctrl + Enter : 현재 셀 실행
Shift + Enter : 현재 셀 실행 후, 다음 셀로 이동 (없을 시 새로운 셀 추가)

 

 

Image Load

1. 라이브러리 임포트

import numpy as np
import cv2

 

이미지를 로딩하기 위해서는 opencv 라이브러리를 활용하게 된다.

이때 이미지가 numpy 라이브러리를 활용한 array형태로 데이터가 불러와지게 된다.

 

 

2. 함수 정의

def show_img(image, title="image"):
cv2.imshow(title, image) # 이미지 출력 (BGR)
cv2.waitKey(0) # 키보드 입력 대기 (아무키 입력시 꺼짐)
cv2.destroyAllWindows() # 나타는 Window 제거

 

shoe_img 함수는 두 개의 인자를 받는다.

  • image: 앞에서 말했던 numpy array형태로 저장된 데이터
  • title: 이미지를 새로운 창으로 띄울 때 나오는 이름

 

3. 불러올 이미지 주소 설정

# BMP Files
airplane = "C:/Users/Image Samples/airplane.bmp"
boat = "C:/Users/Image Samples/BoatsColor.bmp"
boy = "C:/Users/Image Samples/boy.bmp"
goldhill = "C:/Users/Image Samples/goldhill.bmp"
# JPG File
tungsten = "C:/Users/Image Samples/tungsten.jpg"
# PNG File
park = "C:/Users/Image Samples/park.png"

 

각자 이미지를 저장해놓은 주소를 설정하면 된다.

 

3-1.  오류 발견

Cell In[47], line 3
airplane = "C:\Users\Image Samples\airplane.bmp"
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

 

파일 탐색기에서 그대로 주소를 붙여 넣었다가 위와 같은 오류가 났었다.

이미지 주소를 잘못 적은 것인데,

역슬래시(백슬래시)가 아니라 슬래시로 바꿔 주어야 한다.

이런 건 왜 안 가르쳐주시는 흑흑

airplane이 아니라 boat의 주소처럼 입력해야 한다.

 

4. 파일 로드 및 컬러 변환

# 이미지 파일 로드 (BGR)
src = cv2.imread(image, cv2.IMREAD_COLOR) # [Height, Width, Channel]
# HSV 컬러 변환
hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)
# RGB 컬러 변환
rgb = cv2.cvtColor(src, cv2.COLOR_BGR2RGB)
# Gray 컬러 변환
gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)

 

 

src의 두 인자 중 image에 원하는 이미지 파일명을 넣으면 된다. 

 

예시로 airplane을 사용해 보겠다.

 

 

5. 출력 예시

print(f"- Data Type: {type(src)}")
print(f"- Data Shape: {src.shape} *Height x Width x Channel")
print(f"- Maximum Intensity: {src.max()}")
print(f"- Minimum Intensity: {src.min()}")

 

airplane 이미지를 넣어서 위 결과를 출력해보면

 

- Data Type: <class 'numpy.ndarray'>
- Data Shape: (512, 512, 3) *Height x Width x Channel
- Maximum Intensity: 234
- Minimum Intensity: 0
  • 512 x 512 크기와 BGR 채널을 가진 이미지
  • max_I 는 234
  • min_I 는 0

등 여러가지 정보를 알 수 있다.

 

6. 이미지 출력해보기

show_img(src)

 

0123
차례대로 기본 src, hsv, rgb, gray 로 출력한 것이다.

 

'AI & ML > 컴퓨터 비전' 카테고리의 다른 글

[디지털 영상 처리] Contrast Stretching  (0) 2024.03.28
[디지털 영상 처리] Point Processing 개요  (1) 2024.03.26
[디지털 영상 처리] Image Load 실습환경 구축  (2) 2024.03.26
[디지털 영상 처리] Histogram  (0) 2024.03.19
[디지털 영상 처리] 영상의 디지털화  (2) 2024.03.14
  1. Jupyter Notebook 기본 단축기
  2. Image Load
'AI & ML/컴퓨터 비전' 카테고리의 다른 글
  • [디지털 영상 처리] Contrast Stretching
  • [디지털 영상 처리] Point Processing 개요
  • [디지털 영상 처리] Image Load 실습환경 구축
  • [디지털 영상 처리] Histogram
JYUN_
JYUN_
예비 개발자 성장기록
  • JYUN_
    데브 스토리
    JYUN_
  • 전체
    오늘
    어제
    • 분류 전체보기 (87)
      • AWS & 클라우드 컴퓨팅 (2)
        • AWS (2)
      • AI & ML (17)
        • 딥러닝 (3)
        • 인공지능 기초 (2)
        • 자연어 처리 (3)
        • 컴퓨터 비전 (8)
      • CS 지식 (9)
        • 알고리즘 (1)
        • 자료구조 (4)
        • 지식확장 (1)
        • 컴퓨터 네트워크 (3)
      • 백엔드 (22)
        • Node.js (12)
        • Spring (9)
      • 웹 프론트엔드 (21)
        • HTML (3)
        • React (7)
        • 바닐라 JavaSctipt (11)
      • 코딩 테스트 & 문제 해결 (10)
        • 코딩 테스트 연습 (9)
        • 실전 문제 풀이 (1)
      • 트러블 슈팅 (1)
      • 기타 (4)
        • 개인 지식 관리 (1)
        • 외부 활동 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
JYUN_
[디지털 영상 처리] Image Load 실습
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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