OpenCV란? Open source로 Computer Vision library
+ 크로스플랫폼과 실시간 이미지 프로세싱에 중점을 둔 라이브러리
컴퓨터 비전 = 카메라로 얻은 일련의 영상들, 기본이미지
import cv2 로 다운받은 open cv를 이용해서 이미지를 처리할 수 있다.
우선 이미지를 읽어오는 것 , 화면에 출력하는 것 , 저장하는 것을 확인해보자.
● cv2.imread(file_name, flg) : 이미지를 읽어 Numpy 객체로 만드는 함수
file_name = 읽어올 이미지 파일 <경로가 포함되어야 한다. "../폴더명/사진.jpg" or "./폴더명/사진.jpg"
or 같은 파일에 있는 경우는 "사진.jpg">
flag = 이미지를 어떤 방법으로 읽어 올 건지 정해줌
: IMREAD_COLOR = 1 -> alpha 채널, 즉 투명한 부분은 무시하고 컬러 채널 3개 모두 가져와 BGR컬러이미지로 읽어온다.
IMREAD_GRAYSCALE = 0 -> 단일채널 회색조로 읽어온다.
IMREAD_UNCHANGED =-1 -> alpha 채널까지 모두 다 color로 읽어온다. (보통 png파일은 alpha값이 포함되어있다고 하네요.)
위의 세 개는 대표적으로 많이 쓰는 flag들이고 그 밖에 다른 flag들도 많다.
IMREAD_ANYDEPTH , IMREAD_ANYCOLOR, IMREAD_LOAD_GDAL, IMREAD_REDUCED_GRAYSCALE_2, IMREAD_REDUCED_COLOR_2 , IMREAD_REDUCED_GRAYSCALE_4 , IMREAD_REDUCED_COLOR_4, IMREAD_REDUCED_GRAYSCALE_8, IMREAD_REDUCED_COLOR_8, IMREAD_IGNORE_ORIENTATION
반환 값 : Numpy 객체 ( 행, 열 , 기본 BGR)
● cv2.imshow(windowname, image) : 불러온 이미지를 화면에 출력하는 함수
windowname = 윈도우 창의 title명을 쓴다.
image = cv2.imread()로 읽어온 이미지, 출력할 이미지
● cv2.waitKey(time) : 키보드 입력을 대기하는 함수
time은 보통 default값이 0인데 cv2.waitKey(0) 이란 키보드 입력을 무한히 기다린다는 뜻이다.
cv2.waitKey(1) 이란 키보드 입력을 1ms(밀리세컨드)단위로 기다리는 것이다. 1s = 1000ms
반환 값 : 사용자가 이용한 Ascii Code (대표적으로 esc 키는 27)
Ascii Code를 몰라도 상관없다.
ord('문자') -> ascii code
chr(ascii code) -> '문자 로 변환시켜주기 때문에
ex) k == 27 혹은 k==ord('c') 를 이용해서 if, elif 문에서 키의 입력을 통해 함수를 다룰 수 있다.
● cv2.imwrite(file_name, image) : 특정 이미지를 저장하는 함수
file_name = 저장할 이미지의 저장명
image = 저장할 이미지 객체
● cv2.destroyAllWindows() : 화면의 모든 윈도우 창을 닫는 함수
꼭 써야한다. 안그럼 계속 안에서 열려있다.

사진 설명을 입력하세요.
위의 함수들을 써서 고양이 사진을 읽어오고, 출력하고 저장할 수 있다.

사진 설명을 입력하세요.

사진 설명을 입력하세요.