영상처리/OpenCV 실습
사진에서 손상된 영역을 복원 - 인 페이팅 By OpenCV
cepiloth
2021. 6. 15. 14:47
728x90
반응형
"인 페인팅은 아트 워크의 손상, 품질 저하 또는 누락된 부분을 채워 완전한 이미지를 제공하는 보존 프로세스입니다. 이 프로세스는 오일 또는 아크릴 페인팅, 화학 사진 인쇄, 3차원 조각 또는 디지털 이미지 및 비디오와 같은 물리적 및 디지털 아트 매체에 모두 적용할 수 있습니다." -> 위키
인페인트라는 기술을 사용하면 이미지에서 손상된 영역을 복원할 수 있습니다. OpenCV 에서 제공하는 sample을 이용하여서 간단하게 inpaint를 실습해보도록 해보도록 하겠습니다.
개발환경
Visual Studio Code 1.56.2
opencv-python 4.5.1.48
Python 3.7.9
Numpy, imgaug
Step 1. Clone Repositery
git clone https://github.com/cepiloth/inpaint
Step2. Open Inpaint Project
그림 경로를 input으로 받거나 fn 변수에 경로를 명시하면 동작한다.
Inpaint.py
사용자로부터 입력으로 받은 이미지 파일을 OpenCV 함수를 사용하여 화면에 윈도우를 생성하고 Sketcher Class의 인스턴스를 생성하며, ' ', 'r' 키 입력을 받아 선택된 영역을 복원하거나 리셋하는 컨트롤 역할을 담당.
Common.py
OpenCV 에서 사용하는 함수 유틸리티 모음.
Run !
F5 or Ctrl + F5를 통하여 실행
728x90
반응형