[opencv-python] 이미지 읽어서 출력하기

2019. 6. 30. 20:37Python-이론/python-opencv

 이미지 읽어서 출력하기

이전에 open-cv를 단순히 명령어를 통해서 설치했습니다. 그럼 간단하게 이미지를 읽어서 단순하게 출력해보는 예제를 따라 해보겠습니다. 

 

저는 이번에 새롭게 구매한 ipad 이미지를 출력해보겠습니다. 우선 폴더는 아래와 같이 이루어졌고 resource라는 폴더를 만들어서 ipad.jpeg를 저장했습니다. 

코드 

import cv2


def showImage():
    imgFile = "resource/ipad.jpeg"
    img = cv2.imread(imgFile, cv2.IMREAD_COLOR)

    cv2.imshow('ipad', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()


showImage()

 

결과물 

내 이미지는 일단 이렇게 출력이 된다. 소스코드를 설명해보겠다. 

import cv2


def showImage():
    imgFile = "resource/ipad.jpeg" # 파일 위치 저장
    img = cv2.imread(imgFile, cv2.IMREAD_COLOR) #필요한 파일을 읽어옵니다. 
	# 읽기 플래그 
    # cv2.IMREAD_COLOR 컬러 이미지로 로드함 
    # cv2.IMREAD_GRAYSCALE 흑백 이미지로 로드함
    # cv2.IMREAD_UNCHANGED 알파 채널을 포함하여 이미지 그대로 로드함
    cv2.imshow('ipad', img)
    
    cv2.waitKey(0)
    # (ms 초 동안 유지된다.) 0이면 키보드 클릭시에 없어짐 
    cv2.destroyAllWindows()
	# 모든 화면 꺼짐 

showImage()

필자의 경우 사진이 너무 크게 나왔다. 그래서 사진의 크기를 줄이기 위해서는 창의 속성을 지정해주면 된다. 코드에 아래 한줄을 추가시켜주었다. 

cv2.namedWindow('ipad', cv2.WINDOW_NORMAL)

첫 인자는 윈도우의 이름 두번째는 원본이미지 크기로 고정하여 윈도우를 생성한다. 

두번째는 여러개의 플래그가 있는데 그중에서도

cv2.WINDOW_NORMAL: 원본이미지 크기로 만들 수 있지만 사용자가 크기를 바꿀 수 있다. 

cv2.WINDOW_AUTOSIZE: 원본이미지 크기로 고정하여 윈도우를 생성한다. 

결과 

원본크기로 볼 수 있고 모서리 부분을 클릭하여 사이즈를 조절할 수 있다. 

 

이미지를 저장하는 방법 

import cv2

def showImage():
    imgFile = "resource/ipad.jpeg"
    img = cv2.imread(imgFile, cv2.IMREAD_GRAYSCALE)

    cv2.namedWindow('ipad', cv2.WINDOW_NORMAL)
    cv2.imshow('ipad', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    cv2.imwrite("resource/ipad_copy.jpeg", img)

showImage()
cv2.imwrite("저장될 위치 및 이름", 저장할 객체)라는 함수를 통해서 저장할 수  있다. 

결과

저장된 결과

ipad_copy가 만들어진 것을 볼 수 있다. 

 

 

참고한 블로그 글

https://m.blog.naver.com/samsjang/220498694383