https://github.com/agarnung/histogram-simulator
An application to perform LUT-based image histogram modification interactively
https://github.com/agarnung/histogram-simulator
histogram image-procesing image-processing opencv qtcreator
Last synced: 2 months ago
JSON representation
An application to perform LUT-based image histogram modification interactively
- Host: GitHub
- URL: https://github.com/agarnung/histogram-simulator
- Owner: agarnung
- Created: 2024-12-23T11:39:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-13T21:31:40.000Z (2 months ago)
- Last Synced: 2026-04-13T23:28:30.862Z (2 months ago)
- Topics: histogram, image-procesing, image-processing, opencv, qtcreator
- Language: C++
- Homepage:
- Size: 424 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# histogram-simulator
An application to perform LUT-based image histogram modification interactively
This project uses [OpenCV 4](https://github.com/opencv/opencv/tree/4.10.0) (see additional packages in https://docs.opencv.org/3.4/d7/d9f/tutorial_linux_install.html)
It is recommended build OpenCV with `-DOPENCV_GENERATE_PKGCONFIG=ON`, see [this](https://stackoverflow.com/questions/15320267/package-opencv-was-not-found-in-the-pkg-config-search-path)
References:
- Bézier curves approximation thanks to the work of [Maxim Shemanarev](https://agg.sourceforge.net/antigrain.com/research/adaptive_bezier/)
_TODO_:
- The idea will be binding all required libraries into a single AppImage, in order to ship the application directly
- Refractor directories in modules
- Add safety in TRANSFORM button and other places
---
**Local (Linux):** install `build-essential`, `qtbase5-dev`, `qttools5-dev-tools`, `pkg-config`, `libopencv-dev`; then `mkdir build && cd build && qmake CONFIG+=release ../histogramsimulator.pro && make -j$(nproc) && ./HistogramSimulator`.
**Docker:** `docker compose build && docker compose run --rm app` (GUI needs WSLg or X11; use `DISPLAY=:1 docker compose run --rm app` if not `:0`). The compose bind-mounts this repo to `/opt/histogram-simulator`—put images under the project on disk and open them from that path (e.g. `/opt/histogram-simulator/...`) in the file dialog.