1# Computer_Vision μμ
2
3Computer_Vision ν΄λμ 20κ° λ μ¨μ ν΄λΉνλ μ€ν κ°λ₯ν μμ μ½λμ
λλ€.
4
5## ν΄λ ꡬ쑰
6
7```
8examples/
9βββ 01_environment_basics.py # νκ²½ μ€μ λ° κΈ°μ΄
10βββ 02_image_basics.py # μ΄λ―Έμ§ κΈ°μ΄ μ°μ°
11βββ 03_color_spaces.py # μμ 곡κ°
12βββ 04_geometric_transforms.py # κΈ°ννμ λ³ν
13βββ 05_filtering.py # μ΄λ―Έμ§ νν°λ§
14βββ 06_morphology.py # λͺ¨ν΄λ‘μ§ μ°μ°
15βββ 07_thresholding.py # μ΄μ§ν λ° μκ³μ²λ¦¬
16βββ 08_edge_detection.py # μ£μ§ κ²μΆ
17βββ 09_contours.py # μ€κ³½μ κ²μΆ
18βββ 10_shape_analysis.py # λν λΆμ
19βββ 11_hough_transform.py # νν λ³ν
20βββ 12_histogram.py # νμ€ν κ·Έλ¨ λΆμ
21βββ 13_feature_detection.py # νΉμ§μ κ²μΆ
22βββ 14_feature_matching.py # νΉμ§μ λ§€μΉ
23βββ 15_object_detection.py # κ°μ²΄ κ²μΆ κΈ°μ΄
24βββ 16_face_detection.py # μΌκ΅΄ κ²μΆ λ° μΈμ
25βββ 17_video_processing.py # λΉλμ€ μ²λ¦¬
26βββ 18_camera_calibration.py # μΉ΄λ©λΌ μΊλ¦¬λΈλ μ΄μ
27βββ 19_dnn_module.py # λ₯λ¬λ DNN λͺ¨λ
28βββ 20_practical_project.py # μ€μ νλ‘μ νΈ
29```
30
31## νκ²½ μ€μ
32
33```bash
34# κ°μνκ²½ μμ±
35python -m venv cv-env
36source cv-env/bin/activate # Windows: cv-env\Scripts\activate
37
38# νμ ν¨ν€μ§ μ€μΉ
39pip install opencv-python numpy matplotlib
40
41# νμ₯ ν¨ν€μ§ (SIFT, SURF λ±)
42pip install opencv-contrib-python
43
44# μΌκ΅΄ μΈμμ© (μ ν)
45pip install dlib face_recognition
46```
47
48## μ€ν λ°©λ²
49
50```bash
51# κ°λ³ μμ μ€ν
52cd Computer_Vision/examples
53python 01_environment_basics.py
54
55# ν
μ€νΈ μ΄λ―Έμ§ μ€λΉ (νμ μ)
56# μμ μ€ν μ μ sample.jpg λ±μ ν
μ€νΈ μ΄λ―Έμ§κ° νμν©λλ€
57# μΉμΊ μμ λ μΉ΄λ©λΌκ° μ°κ²°λμ΄ μμ΄μΌ ν©λλ€
58```
59
60## λ μ¨λ³ μμ κ°μ
61
62| λ μ¨ | μ£Όμ | ν΅μ¬ ν¨μ/κ°λ
|
63|------|------|---------------|
64| 01 | νκ²½ μ€μ | `cv2.__version__`, μ€μΉ νμΈ |
65| 02 | μ΄λ―Έμ§ κΈ°μ΄ | `imread`, `imshow`, `imwrite`, ROI |
66| 03 | μμ κ³΅κ° | `cvtColor`, BGR/HSV/LAB, `split`/`merge` |
67| 04 | κΈ°ν λ³ν | `resize`, `rotate`, `warpAffine`, `warpPerspective` |
68| 05 | νν°λ§ | `GaussianBlur`, `medianBlur`, `bilateralFilter` |
69| 06 | λͺ¨ν΄λ‘μ§ | `erode`, `dilate`, `morphologyEx` |
70| 07 | μ΄μ§ν | `threshold`, OTSU, `adaptiveThreshold` |
71| 08 | μ£μ§ κ²μΆ | `Sobel`, `Laplacian`, `Canny` |
72| 09 | μ€κ³½μ | `findContours`, `drawContours`, `approxPolyDP` |
73| 10 | λν λΆμ | `moments`, `boundingRect`, `convexHull` |
74| 11 | νν λ³ν | `HoughLines`, `HoughLinesP`, `HoughCircles` |
75| 12 | νμ€ν κ·Έλ¨ | `calcHist`, `equalizeHist`, CLAHE |
76| 13 | νΉμ§μ κ²μΆ | Harris, SIFT, ORB |
77| 14 | νΉμ§μ λ§€μΉ | BFMatcher, FLANN, homography |
78| 15 | κ°μ²΄ κ²μΆ | template matching, Haar cascade |
79| 16 | μΌκ΅΄ κ²μΆ | Haar face, dlib landmarks |
80| 17 | λΉλμ€ μ²λ¦¬ | `VideoCapture`, λ°°κ²½ μ°¨λΆ, μ΅ν°μ»¬νλ‘μ° |
81| 18 | μΊλ¦¬λΈλ μ΄μ
| 체μ€λ³΄λ, μ곑 보μ |
82| 19 | DNN λͺ¨λ | `readNet`, `blobFromImage` |
83| 20 | μ€μ νλ‘μ νΈ | λ¬Έμ μ€μΊλ, μ°¨μ κ²μΆ |
84
85## ν
μ€νΈ μ΄λ―Έμ§ μ€λΉ
86
87μμ μ€νμ μν΄ λ€μ ν
μ€νΈ μ΄λ―Έμ§κ° νμν©λλ€:
88
89```bash
90# κ°λ¨ν ν
μ€νΈ μ΄λ―Έμ§ μμ± (μμ 01μ ν¬ν¨)
91python 01_environment_basics.py # ν
μ€νΈ μ΄λ―Έμ§ μλ μμ±
92
93# λλ μ§μ μ΄λ―Έμ§ μ€λΉ
94# - sample.jpg: μΌλ° μ»¬λ¬ μ΄λ―Έμ§
95# - face.jpg: μΌκ΅΄μ΄ ν¬ν¨λ μ΄λ―Έμ§ (16λ² μμ μ©)
96# - checkerboard.jpg: 체μ€λ³΄λ μ΄λ―Έμ§ (18λ² μμ μ©)
97```
98
99## νμ΅ μμ
100
101### 1λ¨κ³: κΈ°μ΄ (01-04)
102```
10301 β 02 β 03 β 04
104```
105
106### 2λ¨κ³: μ΄λ―Έμ§ μ²λ¦¬ (05-08)
107```
10805 β 06 β 07 β 08
109```
110
111### 3λ¨κ³: κ°μ²΄ λΆμ (09-12)
112```
11309 β 10 β 11 β 12
114```
115
116### 4λ¨κ³: νΉμ§/κ²μΆ (13-16)
117```
11813 β 14 β 15 β 16
119```
120
121### 5λ¨κ³: κ³ κΈ (17-20)
122```
12317 β 18 β 19 β 20
124```
125
126## μ°Έκ³ μλ£
127
128- [OpenCV 곡μ λ¬Έμ](https://docs.opencv.org/)
129- [OpenCV-Python νν 리μΌ](https://docs.opencv.org/4.x/d6/d00/tutorial_py_root.html)
130- [PyImageSearch](https://pyimagesearch.com/)