실물화상기 - USB 웹캠 교수자용 앱
개요
교육 현장의 교수자를 위한 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 연동 동영상 녹화, 정지 화상 캡쳐/저장.


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



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


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


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



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