[openCV] 이미지 처리의 기초

윤한영·2022년 7월 25일
0

AI

목록 보기
6/7

🎉 OpenCV에서 사용되는 함수에 대한 설명
🧨 간단한 예시로 설명하겠습니다!

√ 전체적인 흐름

1. 처리하고 싶은 이미지 파일을 가져오고
2. 윈도우 창으로 이미지를 확인
3. 윈도우 창 제거
4. 처리한 이미지 저장 순서로 포스팅하겠습니다!

1) 라이브러리 가져오기

import cv2              # OpenCV 라이브러리 가져오기
import numpy as np      # Numpy 라이브러리 가져오기
import sys

print ("You have successfully installed OpenCV version "+cv2.__version__) 
print ("Your version of Python is " + sys.version)
# 버전 확인하기

1-1. cv2.imread() # 이미지 파일 읽어오기

  • cv2.imread(filename, flag)

    fileName은 이미지 파일의 경로 / flag는 이미지 파일을 읽을 때 옵션입니다
    flag는 총 3가지가 있습니다. 명시적으로 써줘도 되고 숫자를 사용해도 됩니다

cv2.IMREAD_COLOR() : 이미지 파일을 Color로 읽음. 투명한 부분은 무시하며 Default 설정입니다
cv2.IMREAD_GRAYSCALE() : 이미지 파일을 Grayscale로 읽음. 실제 이미지 처리시 중간 단계로 많이 사용합니다
cv2.IMREAD_UNCHAGED() : 이미지 파일을 alpha channel 까지 포함해 읽음

fname = "img_file_name"

original = cv2.imread(fname, cv2.IMREAD_COLOR) # 1
gray = cv2.imread(fname, cv2.IMREAD_GRAYSCALE) # 0
unchange = cv2.imread(fname, cv2.IMREAD_UNCHANGED) # -1

1-2. cv2.imshow("image", img) # 이미지 보기

- cv2.imshow(tital, image)

title은 윈도우 창의 제목을 의미하며 image는 cv2.imread() 의 return값입니다

cv2.imshow('Original', original)
cv2.imshow('Gray', gray)
cv2.imshow('Unchange', unchange)

cv2.waitKey(0)
cv2.destroyAllWindows()

1-3. cv2.waitKey() / cv2.destroyAllWindows() # 윈도우 창 대기 및 제거

- cv2.waitKey()

cv2.waitKey(0)
키보드 입력을 대기하는 함수로 0이면 key 입력이 있을때까지 무한대기합니다.
cv2.waitKey(5000)
특정 시간동안 대기를 하려면 ms값을 넣어주면 됩니다. 5000ms => 5초

- cv2.destroyAllWindows()

화면에 나타난 윈도우를 종료합니다. 일반적으로 위의 imshow, waitkey, destroyAllWindows은 같이 사용됩니다

import cv2

fname = "img_file_name"

original = cv2.imread(fname, cv2.IMREAD_COLOR)
gray = cv2.imread(fname, cv2.IMREAD_GRAYSCALE)
unchange = cv2.imread(fname, cv2.IMREAD_UNCHANGED)

cv2.imshow('Original', original)
cv2.imshow('Gray', gray)
cv2.imshow('Unchange', unchange)

cv2.waitKey(0)
cv2.destroyAllWindows()

1-4 img.shape # 이미지 크기 확인하기

이미지의 크기를 알 수 있습니다.

print(img.shape) 
=> (height, width, channels) 순으로 출력이 됩니다!

1-5. cv2.imwrite() # 이미지 저장하기

- cv2.imwrite('result.png', original)

result.png : 저장하려고 하는 파일 이름 / original : 원본 이미지 파일

0개의 댓글