Skip to content

실물화상기 - USB 웹캠 교수자용 앱

Period2023.05 ~ 2023.07
Role실시간 영상처리 개발자, 데스크톱 앱 개발자
Platform
PC프로그램
Tech
Electron.jsVue.jsC++DirectShowFFmpegOpenCVGLSLWebGL

개요

교육 현장의 교수자를 위한 USB 웹캠 기반 실물화상기 Windows 데스크톱 애플리케이션. 실시간 영상처리와 하드웨어 제어 기능을 갖춘 강의 도구입니다.

작업 범위

  • Electron.js 데스크톱 앱 개발 (Vue.js 3 프론트엔드)
  • C++ 네이티브 모듈 개발 (하드웨어 드라이버 연동)
  • 실시간 영상처리 파이프라인 구축 (FFmpeg, OpenCV, GLSL)
  • USB 웹캠 하드웨어 제어 시스템
  • OCR 시스템 연동
  • Windows 설치 패키지 및 자동 업데이트

핵심 기능

USB 웹캠 영상 캡쳐 시스템

DirectShow API 기반 USB 웹캠 영상 스트림 캡쳐. C++ 네이티브 모듈에서 DirectShow로 프레임 획득 → node-addon-api로 JavaScript Buffer 전달 → HTML5 Canvas/WebGL 실시간 렌더링. FFmpeg 연동 동영상 녹화, 정지 화상 캡쳐/저장.

USB 웹캠 영상 캡쳐 시스템
USB 웹캠 영상 캡쳐 시스템

실시간 이미지 보정 (GLSL 셰이더)

GLSL 셰이더 기반 GPU 가속 실시간 필터 파이프라인. 밝기/대비/채도 조절, 화이트밸런스 보정, OpenCV 이미지 향상.

실시간 이미지 보정 (GLSL 셰이더)
실시간 이미지 보정 (GLSL 셰이더)
실시간 이미지 보정 (GLSL 셰이더)

C++ 하드웨어 드라이버 연동 (Electron IPC)

DirectShow API의 IAMCameraControl, IAMVideoProcAmp 인터페이스로 C++ 하드웨어 제어 모듈 개발. node-addon-api로 네이티브 모듈 패키징 후 Electron IPC 브릿지로 JavaScript와 연결. 줌, 포커스, 노출, 조명 등 웹캠 하드웨어를 Vue.js UI에서 직접 제어.

C++ 하드웨어 드라이버 연동 (Electron IPC)
C++ 하드웨어 드라이버 연동 (Electron IPC)

OCR 문서 인식

문서 텍스처 자동 인식 및 편집. 인식 결과를 클립보드로 복사하여 강의 자료로 활용.

OCR 문서 인식
OCR 문서 인식

Electron 데스크톱 앱 (Vue.js 3)

Vue.js 3 프론트엔드와 C++ 네이티브 모듈을 Electron으로 통합. Windows 설치 패키지 및 자동 업데이트 시스템.

Electron 데스크톱 앱 (Vue.js 3)
Electron 데스크톱 앱 (Vue.js 3)
Electron 데스크톱 앱 (Vue.js 3)

성과

  • Electron + C++ 네이티브 모듈 IPC 브릿지 통합
  • GLSL 셰이더 기반 실시간 이미지 처리 파이프라인
  • 교육 현장 최적화된 직관적 UI/UX
  • 동영상 녹화(FFmpeg), 정지 화상 캡쳐, 다양한 해상도/포맷 지원
  • Windows 설치 패키지 및 자동 업데이트 시스템