OpenCV 1. 이미지 읽고 쓰기

Jungyu Jin·2021년 12월 27일
0

OpenCV-Practice

목록 보기
2/14
  • 이미지 객체 생성

    cv2.imread(filename,[,flag])

    flag에는 cv2.IMREAD_COLOR, cv2.IMREAD_GRAYSCALE, cv2.IMREAD_UNCHANGED 등이 존재한다.

  • 윈도우 성격 지정

    cv2.namedWindow(winname,[,flag])

    flag로 cv2.WINDOW_NORMAL | cv2.WINDOW_KEEPRATIO 쓰면 크기 조절 가능

  • 이미지 파일 쓰기

    cv2.imwrite(filename,image object,[,params])

    이미지를 지정된 filename으로 저장한다.

  • 윈도우에 이미지 출력

    cv2.imshow(winname,image object)

    이미지를 지정된 이름의 창에 출력한다.

  • 딜레이 동안 키보드 입력 대기

    cv2.waitKey([,delay]) -> retval

    waitKey(0)은 입력이 들어올 때 까지 대기
    입력된 문자의 아스키 코드를 반환한다 (ESC는 27)

  • 모든 윈도우 닫기

    	cv2.destroyAllWindows()
import cv2

# COLOR
def showImage_color(img_file):
    img = cv2.imread(img_file,cv2.IMREAD_COLOR) # image load
    cv2.imshow('Show Image',img) # image show
    cv2.waitKey(0) # wait keyboard input
    cv2.destroyAllWindows() # close all window
    
# GRAYSCALE
def showImage_gray(img_file):
    img = cv2.imread(img_file,cv2.IMREAD_GRAYSCALE) # image load
    cv2.imshow('Show Image',img) # image show
    cv2.waitKey(0) # wait keyboard input
    cv2.destroyAllWindows() # close all window
    
# UNCHANGED
def showImage_with_alpha_channel(img_file):
    img = cv2.imread(img_file,cv2.IMREAD_UNCHANGED) # image load
    cv2.imshow('Show Image',img) # image show
    cv2.waitKey(0) # wait keyboard input
    cv2.destroyAllWindows() # close all window
    
# 위 세 함수는 크기 조절 불가
def showImage_scale_adjust(img_file):
    img = cv2.imread(img_file,cv2.IMREAD_UNCHANGED) # image load
    cv2.namedWindow('Show Image with Scale Adjust', cv2.WINDOW_NORMAL | cv2.WINDOW_KEEPRATIO)
    cv2.imshow('Show Image with Scale Adjust',img) # image show
    cv2.waitKey(0) # wait keyboard input
    cv2.destroyAllWindows() # close all window
    
def store_Image(img_file):
    img = cv2.imread(img_file, cv2.IMREAD_COLOR)
    cv2.imshow('Show Image',img)
    k = cv2.waitKey(0) & 0xFF # convert ascii(in x64 os)
    if k == 27: # 27 is ESC
        cv2.destroyAllWindows()
    elif k == ord('c'): # c is writing
        store_img_file = img_file[:-4] + '_copy.jpg'
        print(store_img_file)
        cv2.imwrite(store_img_file,img)
        cv2.destroyAllWindows()

img_name='lantern.jpg'

store_Image(img_name)

showImage_color(img_name)

showImage_gray(img_name)

showImage_with_alpha_channel(img_name)

showImage_scale_adjust(img_name)

0개의 댓글