RASPI Pipeline
A stereo-vision pipeline for an acupoint-localization treatment system.
A Raspberry Pi:
- captures a MetaSense 435 depth camera
- JPEG-encodes four channels: IR, depth, an RGB overlay, and colour
- Pushes them over a single TCP socket to a laptop
- Laptop serves a live quad view in the browser and sends camera controls back up the same connection.
Interactive system map → Every source file, what it actually does, and the named function or socket that connects it to the next. Click a box to open its dossier; click a wire to read what crosses it. In English and Chinese
How it works
| Piece | Runs on | Job |
|---|---|---|
quad_sender |
Raspberry Pi | capture, JPEG-encode, push 4 channels over one socket |
stream_server |
laptop | receive, demux by stream id, serve MJPEG + controls |
| the browser page | anywhere | 2x2 live view, FPS readout, IR laser and stereo tuning |
One TCP connection carries all four channels, each frame tagged with its stream id. Because TCP is full duplex, the laser toggle and the stereo-matcher sliders travel back up the same connection — no second port, and no reconnect when you press a button.
Written in C++17 with OpenCV, cross-compiled for aarch64 against a sysroot cloned from the board. The streaming path is about 1,530 lines of code across seven files.