Project

General

Profile

Wiki » History » Revision 21

Revision 20 (Anderson PHILLIP, 10/18/2025 01:58 AM) → Revision 21/49 (Anderson PHILLIP, 10/18/2025 02:00 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]]    [[#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(#Team). Team & roles  
 |_. 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) 

 p=. _Back to top:_ [[#Top|↑]]