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() |
- 원본 이미지
- 칼라 이미지 창
- 회색 이미지 창
- 무 변경 이미지 창
- 파일로 저장된 이미지
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() |
모니터 상단 휴지통 옆에 딱 붙어 있습니다.
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() |
'Tensorflow > OpenCV' 카테고리의 다른 글
OpenCV 4. 이미지 연산 (Python) (0) | 2019.04.05 |
---|---|
OpenCV 3. 비디오 입력 출력 (Python) (2) | 2019.04.04 |
OpenCV 1. 도형 그리기 문자 (Python) (5) | 2019.04.01 |
OpenCV 1. 도형 그리기 다각형 (Python) (0) | 2019.03.30 |
OpenCV 1. 도형 그리기 원 타원 (Python) (0) | 2019.03.28 |