Skip to content

work-jack/vision-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

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

No releases published

Packages

 
 
 

Contributors

Languages