Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vision Toolkit

Python OpenCV NumPy Matplotlib License


프로젝트 소개

Vision Toolkit은 10년 이상의 컴퓨터 비전(Computer Vision) 경험을 바탕으로 제작된 2D/3D 알고리즘 예제 모음입니다.
OpenCV(Python)를 활용하여 카메라 캘리브레이션, 이미지 처리 파이프라인, 객체 계측, 스테레오 깊이 추정, 특징점 매칭 등 실무에서 자주 활용되는 핵심 기술들을 자체 생성 이미지 기반으로 완전히 독립 실행 가능한 형태로 구현하였습니다.

모든 예제는 외부 하드웨어(카메라 등) 없이 즉시 실행할 수 있습니다.


기술 스택

분야 기술
언어 Python 3.8+
영상처리 OpenCV 4.8+
수치연산 NumPy
시각화 Matplotlib
버전관리 Git

예제 목록

1. 카메라 캘리브레이션 (examples/camera_calibration.py)

체커보드 패턴을 프로그래밍 방식으로 생성하고, 카메라 내부 파라미터(intrinsic matrix)와 왜곡 계수(distortion coefficients)를 산출합니다.
핵심 기술: 체커보드 코너 검출, Zhang's method, 렌즈 왜곡 보정(Undistortion)

2. 이미지 처리 파이프라인 (examples/image_processing.py)

다양한 필터 및 에지 검출 알고리즘을 단계적으로 적용하여 파이프라인을 시각화합니다.
핵심 기술: Gaussian / Median / Bilateral 필터, Canny / Sobel / Laplacian 에지 검출, 모폴로지 연산(팽창·침식·열기·닫기)

3. 객체 계측 (examples/object_measurement.py)

윤곽선(Contour) 분석을 통해 이미지 내 객체의 면적, 둘레, 바운딩 박스 등을 측정하고 결과를 이미지에 주석으로 표시합니다.
핵심 기술: 윤곽선 검출, 모멘트(Moments) 계산, 원형도(Circularity) 분석, 객체 치수 계측

4. 스테레오 깊이 추정 (examples/stereo_depth.py)

합성 스테레오 이미지 쌍을 생성하고 시차 맵(Disparity Map)을 계산하여 깊이 맵을 시각화합니다.
핵심 기술: StereoBM / StereoSGBM, 시차 맵 계산, Depth Map 컬러맵 시각화

5. 특징점 매칭 (examples/feature_matching.py)

두 이미지 간 특징점을 검출하고 매칭하여 호모그래피(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.txt

개별 예제 실행

python examples/camera_calibration.py
python examples/image_processing.py
python examples/object_measurement.py
python examples/stereo_depth.py
python examples/feature_matching.py

전체 예제 일괄 실행

python 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 하에 배포됩니다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages