A C++ application for image outpainting and enhancement using LibTorch and OpenCV with CUDA acceleration.
- CUDA-accelerated image processing
- Deep learning-based image outpainting
- Seamless integration with LibTorch and OpenCV
- CUDA-compatible GPU
- Docker (for containerized usage)
- CMake 3.18+ (for local development)
The easiest way to run Image Extender is via Docker:
docker pull ghcr.io/magyargergo/image-extender:latest
docker run --gpus all ghcr.io/magyargergo/image-extender:latest
-
Clone the repository:
git clone https://github.com/magyargergo/ImageExtender.git cd ImageExtender
-
Install dependencies:
- Install CUDA 12.x and cuDNN
- Install vcpkg: https://github.com/microsoft/vcpkg
-
Build the project:
mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=[path/to/vcpkg]/scripts/buildsystems/vcpkg.cmake -DBUILD_WITH_CUDA=ON cmake --build . --config Release
src/
- Source code filesinclude/
- Header filesmodels/
- Pre-trained model filesdocker/
- Docker-related files
The project uses vcpkg for dependency management. Key dependencies include:
- LibTorch (PyTorch C++ API) 2.1.2
- OpenCV 4.11.0 with CUDA support
- nlohmann-json for JSON parsing
- Eigen3 for matrix operations
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request