2. 이미지 입력 출력


도형 그리기는 빈 공간에 무엇인가를 새로 그리고 보여주는 기능이지만 이미지 입출력은 기존에 존재하는 이미지 파일을 작업하는 부분이라 간단하게 테스트 할 수 있습니다.

 

2.1 이미지 입력

 

imread() 함수를 이용하여 저장된 이미지를 읽어 옵니다.

 

cv2.imread(filename[, flags]) → retval


parameter

 내용

 filename

 읽어올 파일 명

 flags

 cv2.IMREAD_COLOR : Color로 읽음(1)

cv2.IMREAD_GRAYSCALE : Grayscale로 읽음(0)

cv2.IMREAD_UNCHAGED : alpha channel 까지 포함해 읽음(-1)


2.2 이미지 출력

 

imwrite() 함수를 이용하여 이미지를 파일로 출력 합니다.


cv2.imwrite(filename, img[, params]) → retval


parameter

 내용

 filename

 저장할 파일 명

 img 이미지 파일

 params

 IMWRITE_JPEG_QUALITY

 IMWRITE_WEBP_QUALITY

 IMWRITE_PNG_COMPRESSION

 IMWRITE_PXM_BINARY


2.3 이미지 화면 출력

 

imshow() 함수를 이용하여 이미지를 모니터에 보여줍니다.


cv2.imshow(winname, filename) → None


parameter

 내용

 winname 이미지 창 이름

 filename

 파일 명


예제)


이미지 파일을 읽어와 회색으로 저장하고 화면에 보여주는 예제 입니다.


import cv2

 

fname = 'F:/Python/images/image001.png'

fwname = 'F:/Python/images/image001_save.png'

 

# image read

color = cv2.imread(fname, cv2.IMREAD_COLOR)

gray = cv2.imread(fname, cv2.IMREAD_GRAYSCALE)

unchange = cv2.imread(fname, cv2.IMREAD_UNCHANGED)

 

# image show

cv2.imshow('Color', color)

cv2.imshow('Gray', gray)

cv2.imshow('Unchange', unchange)

 

# gray image write

cv2.imwrite(fwname, gray)

 

cv2.waitKey(0)

cv2.destroyAllWindows()


- 원본 이미지


opencv_image


- 칼라 이미지 창


opencv_image


- 회색 이미지 창


opencv_image


- 무 변경 이미지 창


opencv_image


- 파일로 저장된 이미지


opencv_image



2.4 이미지 창 생성

 

cv2.namedWindow() 함수를 이용하여 이미지 창을 생성 합니다.


cv2.namedWindow(winname[, flags]) → None


parameter

 내용

 winname

 window caption name

 flags

 WINDOW_NORMAL

 WINDOW_AUTOSIZE


2.5 이미지 창 이동

 

MoveWindow() 함수를 이용하여 모니터에서의 위치를 설정하면 창을 이동 합니다.


cv2.moveWindow(winname, x, y) → None


parameter

 내용

 winname

 이미지 창 이름

 x 윈도우 전체 화면의 x 좌표
 y 윈도우 전체 화면의 y 좌표


이미지 파일을 읽어와 모니터 화면의 좌표를 이용하여 창을 이동 합니다.


import cv2

 

fname = 'F:/Python/images/image001.png'

 

# image read

img = cv2.imread(fname, cv2.IMREAD_COLOR)

 

# image show

cv2.imshow('Move', img)

 

# window move

cv2.moveWindow('Move', 50, 0)

 

cv2.waitKey(0)

cv2.destroyAllWindows()



opencv_image


모니터 상단 휴지통 옆에 딱 붙어 있습니다.


2.6 이미지 창 크기 조절

 

ResizeWindow() 함수를 이용하여 창 크기 조절이 가능 합니다이미지도 창의 비율에 맞추어 수정 됩니다.

 

cv2.resizeWindow(winname, width, height) → None


parameter

 내용

 winname

 이미지 창 이름

 width 이미지 폭
 height 이미지 높이


신규 이미지 창을 만들어 이미지를 대입 합니다.


import cv2

 

fname = 'F:/Python/images/image001.png'

 

# image read

img = cv2.imread(fname, cv2.IMREAD_COLOR)

 

# image resize

cv2.namedWindow('Resized Window', cv2.WINDOW_NORMAL)

cv2.resizeWindow('Resized Window', 250, 100)

 

# image show

cv2.imshow('Resized Window', img)

 

cv2.waitKey(0)

cv2.destroyAllWindows()


opencv_image



+ Recent posts