Skip to content

Document Camera - USB Webcam Teaching Application

Period2023.05 ~ 2023.07
RoleReal-time Video Processing Developer, Desktop App Developer
Platform
PC Application
Tech
Electron.jsVue.jsC++DirectShowFFmpegOpenCVGLSLWebGL

Overview

USB webcam-based document camera Windows desktop application for educators. A teaching tool with real-time video processing and hardware control capabilities.

Work Scope

  • Electron.js desktop app (Vue.js 3 frontend)
  • C++ native module development (hardware driver integration)
  • Real-time video processing pipeline (FFmpeg, OpenCV, GLSL)
  • USB webcam hardware control system
  • OCR system integration
  • Windows installer and auto-update

Key Features

USB Webcam Video Capture System

DirectShow API-based USB webcam video stream capture. C++ native module acquires frames via DirectShow → passes to JavaScript Buffer via node-addon-api → real-time rendering on HTML5 Canvas/WebGL. FFmpeg video recording and still image capture.

USB Webcam Video Capture System
USB Webcam Video Capture System

Real-time Image Processing (GLSL Shader)

GPU-accelerated real-time filter pipeline using GLSL shaders. Brightness/contrast/saturation adjustment, white balance correction, OpenCV image enhancement.

Real-time Image Processing (GLSL Shader)
Real-time Image Processing (GLSL Shader)
Real-time Image Processing (GLSL Shader)

C++ Hardware Driver Integration (Electron IPC)

Developed hardware control module in C++ using DirectShow API (IAMCameraControl, IAMVideoProcAmp). Packaged as native module via node-addon-api, connected to JavaScript via Electron IPC bridge. Control zoom, focus, exposure, lighting from Vue.js UI.

C++ Hardware Driver Integration (Electron IPC)
C++ Hardware Driver Integration (Electron IPC)

OCR Document Recognition

Automatic document text recognition and editing. Copy recognition results to clipboard for use in teaching materials.

OCR Document Recognition
OCR Document Recognition

Electron Desktop App (Vue.js 3)

Integrated Vue.js 3 frontend with C++ native modules via Electron. Windows installer package and auto-update system.

Electron Desktop App (Vue.js 3)
Electron Desktop App (Vue.js 3)
Electron Desktop App (Vue.js 3)

Achievements

  • Electron + C++ native module integration via IPC bridge
  • Real-time GLSL shader image processing pipeline
  • Intuitive UI/UX optimized for classroom use
  • Video recording (FFmpeg), still capture, multi-resolution support
  • Windows installer with auto-update system