Wiki » History » Revision 20
Revision 19 (Anderson PHILLIP, 10/18/2025 01:56 AM) → Revision 20/49 (Anderson PHILLIP, 10/18/2025 01:58 AM)
{{anchor(Top)}}
h1. Multi‑Projector System — Project Wiki
h2. Overview
Our goal is to build a two‑projector system that displays seamless still images on a flat screen, where the projected areas overlap and must be blended. Implementation is in Python (OpenCV). Prior to implementation, we document the problem and a viable solution approach. [[#Scope]] [[#Work-Packages]] [[#Team]]
h3. Problem background (why blending matters)
Overlapped regions become over‑illuminated; alpha‑blending with proper masks evens illumination across seams. (See slides: “What is alpha‑blending?”) [[Alpha‑blending]]
h2(#Scope). Scope & assumptions
* Start from a *planar* screen with **two** projectors; optical axes *perpendicular* to the screen.
* Work with **still images** first (not video).
* Expected overlapped area is approximately rectangular; target a *linear* drop of mask intensity from 1→0 across the overlap.
* Use Python + OpenCV; iterate from simple to refined.
(From project brief and simplified requirements.)
h2(#Objectives). Objectives
* Describe the problem and identify a potential solution before coding.
* Apply geometric reasoning (lines/planes in 3D; ray‑plane/ray‑cylinder intersections) as needed.
* Prototype masking that yields smooth, artifact‑free blending.
(From “Objective”, “Skills required”, and problem formulation.)
h2(#Key-Concepts). Key concepts & references
* [[Alpha‑blending]] — concept and examples.
* Forward (screen→projector) and inverse (projector→screen) ray tracing for overlap detection and mask generation.
* “Smooth” masks prevent scratches along mask boundaries.
h2(#Work-Packages). Work packages (WPs)
* *WP1 – Geometry & Calibration*
Define screen and projector geometry; set initial positions; document assumptions and coordinate frames. Deliverable: short calibration note and diagram.
* *WP2 – Overlap Detection*
Use forward/inverse ray tracing to detect dual‑illumination pixels on the screen. Deliverable: mask preview images for each projector.
* *WP3 – Mask Generation & Blending*
Implement linear (then smoothed) alpha masks across the overlap; verify no “scratches” at boundaries. Deliverable: blended still‑image demo.
* *WP4 – Experimentation & Evaluation*
Record test setups, parameters, and visual results; checklist for “uniform illumination”.
* *WP5 – Documentation*
Maintain this wiki; Doxygen comments in code; weekly log.
h2(#Milestones). Milestones & deliverables
* M1: Geometry & calibration draft (WP1).
* M2: Overlap detection working on synthetic image (WP2).
* M3: Smooth masks + blended demo on screen (WP3).
* M4: Evaluation report + next‑step plan (WP4, WP5).
h2(#Team). Team & roles
(click a name to open their profile)
|_. Role |_. Amount |_. Who |
| Advisor | 1 | [[Members/Great-Gilbert-Soco|Great Gilbert Soco]] |
| PL, Project Leader | 1 | [[Members/Koki|Koki]] |
| PM, Project Manager | 1 | [[Members/Noah|Noah]] |
| Redmine – supporter of PM | 1 | [[Members/Nonoka|Nonoka]] |
| Developers | 2–3 | [[Members/Deng|Deng]], [[Members/Great-Gilbert-Soco|Gilbert]] |
| Doxygen Leader | 1 | [[Members/Amirul-Haziq-Bin-Airol-Hairrie|Hachiko (Haziq)]] |
| Doxygen, commenters | 2 | [[Members/Jordan|Jordan]], [[Members/Hazel|Hazel]], [[Members/Sota|Sota]] |
| Wiki Leader | 1 | [[Members/Great-Gilbert-Soco|Gilbert]] |
| Wiki Developers | 2 | [[Members/Zoya|Zoya]], [[Members/Phillip-Anderson|Phillip Anderson]] |
| Jira Research Team | 2 | [[Members/Zack|Zack]], [[Members/Phillip-Anderson|Phillip Anderson]] |
p=. _Tip:_ create each profile page the first time you click a name.
p=. _Back to top:_ [[#Top|↑]]
h2(#Alpha-blending). Alpha‑blending (notes)
Overlapped areas without masks are brighter; masks weight each projector so the sum equals uniform brightness. Smooth masks eliminate boundary scratches; see examples in the slides.
h2(#Links). Project links
* Requirements & assumptions: this page, sections [[#Scope]] and [[#Objectives]].
* Design notes & diagrams: (create) [[Design-Notes]]
* Experiments log & photos: (create) [[Experiments-Log]]
* Code repo / file list: (link later)