filmout_display/README.md

50 lines
1.4 KiB
Markdown

# filmout_display
This repo contains the source code for the `filmout_display` binary that displays images on a screen for the purposes of creating analog moving images from digital sources.
This application will take over the full screen when launched and display frames as instructed with JSON objects sent over a TCP socket.
## Features
* Display image full screen, maintaining aspect ratio of original
* Display image scaled for different capture requirements and stocks
* Display image for specified length of time in milliseconds
* Display image until instructed to stop
## Future Goals
* Display image one channel at a time (RGB) for specified lengths of time for color balancing to different stocks
* Display image inverted for print stocks
* Convert images from color to black and white with different profiles
## Dependencies
* [OpenGL](https://www.khronos.org/opengl/)
* [OpenCV](https://github.com/opencv/opencv)
* [nlohmann/json](https://github.com/nlohmann/json)
### Submodules
To clone this project with the `nlohmann/json` submodule included:
```
git clone --recursive https://git.sixteenmillimeter.com/16mm/filmout_display.git
```
If you have already cloned this repo:
```bash
git submodule init
git submodule update
```
### Installing on Debian-based systems
```bash
apt install cmake g++ freeglut3-dev libopencv-dev
```
### Installing on macOS with Homebrew
```bash
brew install freeglut glew glfw glm opencv
```