- 괄호 안에
#이동할 헤드(제목)
를 써주면 웹페이지에서 아래와 같이 해당 제목이 있는 곳으로 이동 - 띄어쓰기는
-
로 연결
**목차**
[1. 헤더 (Headers)](#1.-헤더-(Headers))
[2. 줄바꿈 (Line Breaks)](#2.-줄바꿈-(Line-Breaks))
[3. 목록 (List)](#3.-목록-(List))
[4. 인용문 (BlockQuote)](#4.-인용문-(BlockQuote))
웹 페이지를 개발 한다고 가정하겠습니다. 소프트웨어를 만드는 과정에서나 운영하는 과정에서 새로운 기능을 추가하거나 제거하기도 하고 수정하기도 합니다. 이러한 과정에서 이전 기능을 다시 추가하거나 실수로 인해 복원해야 하는 경우도 발생합니다. 또한 개발 과정에서 어떻게 수정되었는지 히스토리를 확인해야 하는 경우도 있습니다. 그래서 프로그램 수정 전에 중간중간 백업이 필요했습니다.
개발자는 이러한 상황에 대비하여 각 버전별로 압축하고 설명을 작성하여 보관을 했어야 했죠. 이런 백업파일이 축척되다보면 번거롭기도하고 용량도 많이 차지하게 됩니다.
Git은 버전을 편리하게 관리 할 수 있게 도와주는 도구입니다. 우리가 작업하고 있는 파일들을 원하는 순간으로 다시 돌아갈 수 있게 만들어주죠. 많은 개발자가 자신이 개발한 프로그램을 Github를 통해 관리하고 있고 Git, Github를 알고 있다면 협업할 때 큰 도움이 됩니다.
Git 설치 - Git은 명령어를 기본으로 한 명령어 프로그램이기 때문에 Terminal
에서 Command
를 통해 배워야 다양한 기능 사용이 가능하지만 GUI 프로그램도 많이 있습니다.
[Git 공식 홈페이지][gitlink]에 가시면 관련 사용 할 수 있는 GUI Application 프로그램을 확인하실 수 있습니다. (모든 Git의 기능을 담은 GUI Application은 찾기도 힘들고 각 버튼을 클릭 시 어떠한 기능이 수행되는지 정확히 알기 어렵기 때문에 Git을 처음 배울 때는 Terminal을 이용하여 명령어로 수행하여 배우는 것을 추천함)
working directory에 작업 중이던 파일 a.py, b.py 의 수정이 완료되면 add 명령어
를 통해 staging area로 보내게 되고 commit 명령어
를 통해 git 버전 히스토리에 저장하게 됩니다. 이렇게 git directory에 저장된 버전은 local에만 보관되기때문에 저장 공간에 문제가 생기면 모든 히스토리를 잃어버리게 됩니다. 그래서 github 와 같은 서버에 push 명령어
를 수행하여 내 git directory를 서버에 업로드 해둘 수 있습니다. 이후 서버에서 pull 명령어
를 수행하여 local git directory로 다운로드 받을 수 있습니다. checkout 명령어
를 통해 git directory에 저장 된 버전 중 원하는 버전으로 돌아갈 수 있습니다.
OpenCV는 Open Source Computer Vision Library의 약어로 오픈소스 컴퓨터 비전 라이브러리입니다. 실시간 영상 처리에 중점을 둔 영상 처리 라이브러리로서, Apache 2.0 라이선스하에 배포되어 학술적 용도 외에도 오픈소스 BSD 허가서 하에서 상업적 용도로도 사용할 수 있습니다. 라이브러리는 윈도, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 OpenCV TensorFlow , Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원하기때문에 물체 인식, 얼굴 인식, 제스처 인식을 비롯해 자율주행 자동차, OCR 판독기, 불량 검사기 등에 활용할 수 있습니다.
pip install opencv-python
BGR로 이미지를 읽어오고, Video capture와 같은 기능 지원이 잘되어 있습니다.
C++에서 OpenCV를 배우고 사용시 익숙해지기 쉽고(반대도 비슷함) numpy array 인덱싱을 이용해 이미지에 대한 전처리가 가능하기에 좀 더 자유롭게 이미지 전처리 가능합니다.
Pillow와 비교한다면 전체적으로 OpenCV 라이브러리의 성능이 더 좋고, 함수가 더 직관적입니다. (사용자 관점마다 다르겠지만..)
물론 Pillow-SIMD 라이브러리의 경우 OpenCV와 대등한 성능을 내거나 더 좋은 성능을 내는 함수도 많습니다.
위젯 형식 | 위젯 |
---|---|
Numeric widgets | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Boolean widgets | ToggleButton, Checkbox, Valid |
Selection widgets | Dropdown, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple |
String widget | Text, Textarea, Combobox, Password, Label, HTML, HTML Math |
Image | |
Button | |
Play (Animation) widget |