Vision Toolkit은 10년 이상의 컴퓨터 비전(Computer Vision) 경험을 바탕으로 제작된 2D/3D 알고리즘 예제 모음입니다.
OpenCV(Python)를 활용하여 카메라 캘리브레이션, 이미지 처리 파이프라인, 객체 계측, 스테레오 깊이 추정, 특징점 매칭 등 실무에서 자주 활용되는 핵심 기술들을 자체 생성 이미지 기반으로 완전히 독립 실행 가능한 형태로 구현하였습니다.
모든 예제는 외부 하드웨어(카메라 등) 없이 즉시 실행할 수 있습니다.
| 분야 | 기술 |
|---|---|
| 언어 | Python 3.8+ |
| 영상처리 | OpenCV 4.8+ |
| 수치연산 | NumPy |
| 시각화 | Matplotlib |
| 버전관리 | Git |
체커보드 패턴을 프로그래밍 방식으로 생성하고, 카메라 내부 파라미터(intrinsic matrix)와 왜곡 계수(distortion coefficients)를 산출합니다.
핵심 기술: 체커보드 코너 검출, Zhang's method, 렌즈 왜곡 보정(Undistortion)
다양한 필터 및 에지 검출 알고리즘을 단계적으로 적용하여 파이프라인을 시각화합니다.
핵심 기술: Gaussian / Median / Bilateral 필터, Canny / Sobel / Laplacian 에지 검출, 모폴로지 연산(팽창·침식·열기·닫기)
윤곽선(Contour) 분석을 통해 이미지 내 객체의 면적, 둘레, 바운딩 박스 등을 측정하고 결과를 이미지에 주석으로 표시합니다.
핵심 기술: 윤곽선 검출, 모멘트(Moments) 계산, 원형도(Circularity) 분석, 객체 치수 계측
합성 스테레오 이미지 쌍을 생성하고 시차 맵(Disparity Map)을 계산하여 깊이 맵을 시각화합니다.
핵심 기술: StereoBM / StereoSGBM, 시차 맵 계산, Depth Map 컬러맵 시각화
두 이미지 간 특징점을 검출하고 매칭하여 호모그래피(Homography)를 추정합니다.
핵심 기술: ORB 특징점 검출, BFMatcher / FLANN 매칭, RANSAC 기반 호모그래피 추정
# 저장소 클론
git clone https://github.com/work-jack/vision-toolkit.git
cd vision-toolkit
# 가상환경 생성 (권장)
python -m venv .venv
source .venv/bin/activate # Linux / macOS
.venv\Scripts\activate # Windows
# 의존성 설치
pip install -r requirements.txtpython examples/camera_calibration.py
python examples/image_processing.py
python examples/object_measurement.py
python examples/stereo_depth.py
python examples/feature_matching.pypython run_all.py결과 이미지는 프로젝트 루트의 output/ 디렉토리에 저장됩니다.
vision-toolkit/
├── examples/
│ ├── camera_calibration.py # 카메라 캘리브레이션
│ ├── image_processing.py # 이미지 처리 파이프라인
│ ├── object_measurement.py # 객체 계측
│ ├── stereo_depth.py # 스테레오 깊이 추정
│ └── feature_matching.py # 특징점 매칭
├── output/ # 결과 이미지 (자동 생성, .gitignore 처리)
├── run_all.py # 전체 예제 일괄 실행
├── requirements.txt
├── .gitignore
└── README.md
아래 이미지는 각 예제 실행 후
output/디렉토리에 저장되는 결과물 예시입니다.
| 예제 | 결과 파일 |
|---|---|
| 카메라 캘리브레이션 | output/calibration_result.png |
| 이미지 처리 파이프라인 | output/image_processing_result.png |
| 객체 계측 | output/object_measurement_result.png |
| 스테레오 깊이 추정 | output/stereo_depth_result.png |
| 특징점 매칭 | output/feature_matching_result.png |
이 프로젝트는 MIT License 하에 배포됩니다.