This repository contains my computer vision learning notebooks. The examples start with basic image and video processing and gradually move to face, hand, body, and object detection. The final section covers OCR, semantic segmentation, and image inpainting.
The notebooks in 01_cv_essentials cover:
- Reading images, videos, and webcam input
- Grayscale conversion, blur, cropping, and drawing text
- Shape and color detection
The notebooks in 02_cv_detection_modules cover:
- Face detection with MediaPipe
- Hand tracking and hand landmarks
- Body pose detection
- YOLO object detection and its basic theory
- Custom object detection
The folder also contains the model files needed by the MediaPipe examples and sample images used in the lessons.
The notebooks in 03_cv_advanced_ch3 cover:
- Text recognition with OCR models
- Semantic segmentation
- Image inpainting
- Python 3.11 or newer
- VS Code with the Python and Jupyter extensions
- A webcam for the webcam and real-time detection examples
Open PowerShell in the repository folder and run:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install opencv-python cvzone mediapipe ultralytics transformers==4.49.0 ipywidgets hf_xetIf PowerShell blocks activation, run this once in the same terminal:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSignedIn VS Code, open a notebook and select this interpreter as the kernel:
E:\Learning\Computer Vision\.venv\Scripts\python.exe
Restart the notebook kernel after selecting it.
- Open the repository in VS Code.
- Start with the notebooks in
01_cv_essentials. - Continue to
02_cv_detection_modulesand then03_cv_advanced_ch3. - Run each cell from top to bottom.
Some notebooks download model weights the first time they run. A webcam example may open a window; press q to close it.
- Run notebooks from the repository root when a relative image path is used.
- The first Hugging Face or Ultralytics run can take time because model files may need to download.
- Large model files are included only when they are part of the lesson. Generated training folders and local environments are ignored by Git.