Deep CV
__init__ 파일과 __all__ 사용해 보기 본문
cil 패키지 안에는 utils 모듈과 processing 모듈이 있고,
utils 모듈 안에는 유틸리티 함수들 read_image, save_image, display 함수들이 있고,
processing 모듈 안에는 이미지를 프로세스해 주는 invert함수, merge 함수와 내부적으로 사용되는 함수들이 있을 때.
cil 패키지를 임포트하면 내부적으로 사용되는 함수들을 제외한 모든 함수들을 바로 쓸 수 있도록 하기.
즉, cil 패키지를 임포트하면 패키지의 모든 기능을 사용할 수 있게 만들어 보자.
processing 모듈을 import * 했을 때 특정 함수만 쓰고 싶으면
__all__ = ['invert', 'merge']
main에서 cil 패키지만 import해서 processing, utils 모듈을 사용하고 싶으면 init 파일에 아래와 같이 작성
from cil.processing import *
from cil.utils import *
이제 cil 패키지의 read_image와 같은 함수를 cil.로 접근할 수 있다.
import cil
logo = cil.read_image('codeit_logo')
text = cil.read_image('codeit_text')
print('코드잇 로고:')
# logo를 디스플레이해 주세요
cil.display(logo)
print('\n코드잇 텍스트:')
# text를 디스플레이해 주세요
cil.display(text)
# text를 색상 반전해서 inverted_text에 저장해 주세요
inverted_text = cil.invert(text)
# logo와 text를 합성한 이미지를 merged_img에 저장해 주세요
merged_img = cil.merge(logo, text)
print('\n색상 반전 텍스트:')
# inverted_text를 디스플레이해 주세요
cil.display(inverted_text)
print('\n합성 이미지:')
# merged_img를 디스플레이해 주세요
cil.display(merged_img)