Wiki » History » Version 19
Anderson PHILLIP, 10/18/2025 01:56 AM
| 1 | 19 | Anderson PHILLIP | {{anchor(Top)}} |
|---|---|---|---|
| 2 | h1. Multi‑Projector System — Project Wiki |
||
| 3 | 1 | Igor Goncharenko Admin | |
| 4 | 19 | Anderson PHILLIP | h2. Overview |
| 5 | 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]] |
||
| 6 | |||
| 7 | h3. Problem background (why blending matters) |
||
| 8 | Overlapped regions become over‑illuminated; alpha‑blending with proper masks evens illumination across seams. (See slides: “What is alpha‑blending?”) [[Alpha‑blending]] |
||
| 9 | |||
| 10 | h2(#Scope). Scope & assumptions |
||
| 11 | * Start from a *planar* screen with **two** projectors; optical axes *perpendicular* to the screen. |
||
| 12 | * Work with **still images** first (not video). |
||
| 13 | * Expected overlapped area is approximately rectangular; target a *linear* drop of mask intensity from 1→0 across the overlap. |
||
| 14 | * Use Python + OpenCV; iterate from simple to refined. |
||
| 15 | (From project brief and simplified requirements.) |
||
| 16 | |||
| 17 | h2(#Objectives). Objectives |
||
| 18 | * Describe the problem and identify a potential solution before coding. |
||
| 19 | * Apply geometric reasoning (lines/planes in 3D; ray‑plane/ray‑cylinder intersections) as needed. |
||
| 20 | * Prototype masking that yields smooth, artifact‑free blending. |
||
| 21 | (From “Objective”, “Skills required”, and problem formulation.) |
||
| 22 | |||
| 23 | h2(#Key-Concepts). Key concepts & references |
||
| 24 | * [[Alpha‑blending]] — concept and examples. |
||
| 25 | * Forward (screen→projector) and inverse (projector→screen) ray tracing for overlap detection and mask generation. |
||
| 26 | * “Smooth” masks prevent scratches along mask boundaries. |
||
| 27 | |||
| 28 | h2(#Work-Packages). Work packages (WPs) |
||
| 29 | * *WP1 – Geometry & Calibration* |
||
| 30 | Define screen and projector geometry; set initial positions; document assumptions and coordinate frames. Deliverable: short calibration note and diagram. |
||
| 31 | * *WP2 – Overlap Detection* |
||
| 32 | Use forward/inverse ray tracing to detect dual‑illumination pixels on the screen. Deliverable: mask preview images for each projector. |
||
| 33 | * *WP3 – Mask Generation & Blending* |
||
| 34 | Implement linear (then smoothed) alpha masks across the overlap; verify no “scratches” at boundaries. Deliverable: blended still‑image demo. |
||
| 35 | * *WP4 – Experimentation & Evaluation* |
||
| 36 | Record test setups, parameters, and visual results; checklist for “uniform illumination”. |
||
| 37 | * *WP5 – Documentation* |
||
| 38 | Maintain this wiki; Doxygen comments in code; weekly log. |
||
| 39 | |||
| 40 | h2(#Milestones). Milestones & deliverables |
||
| 41 | * M1: Geometry & calibration draft (WP1). |
||
| 42 | * M2: Overlap detection working on synthetic image (WP2). |
||
| 43 | * M3: Smooth masks + blended demo on screen (WP3). |
||
| 44 | * M4: Evaluation report + next‑step plan (WP4, WP5). |
||
| 45 | |||
| 46 | h2(#Team). Team & roles (click a name to open their profile) |
||
| 47 | |_. Role |_. Amount |_. Who | |
||
| 48 | | Advisor | 1 | [[Members/Great-Gilbert-Soco|Great Gilbert Soco]] | |
||
| 49 | | PL, Project Leader | 1 | [[Members/Koki|Koki]] | |
||
| 50 | | PM, Project Manager | 1 | [[Members/Noah|Noah]] | |
||
| 51 | | Redmine – supporter of PM | 1 | [[Members/Nonoka|Nonoka]] | |
||
| 52 | | Developers | 2–3 | [[Members/Deng|Deng]], [[Members/Great-Gilbert-Soco|Gilbert]] | |
||
| 53 | | Doxygen Leader | 1 | [[Members/Amirul-Haziq-Bin-Airol-Hairrie|Hachiko (Haziq)]] | |
||
| 54 | | Doxygen, commenters | 2 | [[Members/Jordan|Jordan]], [[Members/Hazel|Hazel]], [[Members/Sota|Sota]] | |
||
| 55 | | Wiki Leader | 1 | [[Members/Great-Gilbert-Soco|Gilbert]] | |
||
| 56 | | Wiki Developers | 2 | [[Members/Zoya|Zoya]], [[Members/Phillip-Anderson|Phillip Anderson]] | |
||
| 57 | | Jira Research Team | 2 | [[Members/Zack|Zack]], [[Members/Phillip-Anderson|Phillip Anderson]] | |
||
| 58 | |||
| 59 | p=. _Tip:_ create each profile page the first time you click a name. |
||
| 60 | p=. _Back to top:_ [[#Top|↑]] |
||
| 61 | |||
| 62 | h2(#Alpha-blending). Alpha‑blending (notes) |
||
| 63 | 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. |
||
| 64 | |||
| 65 | h2(#Links). Project links |
||
| 66 | * Requirements & assumptions: this page, sections [[#Scope]] and [[#Objectives]]. |
||
| 67 | * Design notes & diagrams: (create) [[Design-Notes]] |
||
| 68 | * Experiments log & photos: (create) [[Experiments-Log]] |
||
| 69 | * Code repo / file list: (link later) |