Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/janpalasek/fast-reflection-removal
Removes reflections quickly and easily.
https://github.com/janpalasek/fast-reflection-removal
fast-reflection-removal python reflection reflection-removal single-image-reflection-removal
Last synced: 17 days ago
JSON representation
Removes reflections quickly and easily.
- Host: GitHub
- URL: https://github.com/janpalasek/fast-reflection-removal
- Owner: JanPalasek
- License: mit
- Created: 2021-10-17T05:56:42.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-10T16:29:54.000Z (11 months ago)
- Last Synced: 2024-12-20T22:46:09.509Z (20 days ago)
- Topics: fast-reflection-removal, python, reflection, reflection-removal, single-image-reflection-removal
- Language: Python
- Homepage:
- Size: 8.19 MB
- Stars: 21
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fast Reflection Removal
![Build](https://github.com/JanPalasek/fast-reflection-removal/actions/workflows/ci.yml/badge.svg)Removes reflections quickly and easily.
![demo](https://github.com/JanPalasek/fast-reflection-removal/blob/main/docs/demo.png?raw=true)
## How to use
You can either:
- install it as a Python package,
- clone and use it as a repository, or
- use it as a web app on [my website](https://janpalasek.com/projects/fast_reflection_removal/).## How to install
### As a package
In your own project, just perform the following command:
```bash
# python refers to the virtual environment to install package to
python -m pip install fast-reflection-removal
```Now, you can use the reflection removal in your project in the following manner:
```python
from frr import FastReflectionRemoval...
# numpy array with values between 0 and 1 of shape (H, W, C)
img = ...
# instantiate the algoroithm class
alg = FastReflectionRemoval(h = 0.11)
# run the algorithm and get result of shape (H, W, C)
dereflected_img = alg.remove_reflection(img)...
```### As a repository
1. Clone the project and go to its root directory.
2. Create and activate the virtual environment:
```bash
# create the environment
python3 -m venv "venv"
# activate the environment
source venv/bin/activate # on Windows ./venv/Scripts/activate.ps1 in Powershell
```
3. Install the necessary packages:
```bash
python -m pip install --upgrade pip
python -m pip install --upgrade wheel setuptools pip-tools
```
4. Install the packages from requirements and the project:
```bash
make sync # on windows just perform the following commands: python -m piptools sync requirements.txt; python -m pip install -e .
```## How to run the project
Example:
```bash
# activate the environment
source venv/bin/activate # on Windows ./venv/Scripts/activate.ps1 in Powershell
frr "tests/test_frr/fixtures/toy_example.jpg" "out.jpg" -h 0.11
```The program, in this example, loads input image from the path `tests/test_frr/fixtures/toy_example.jpg`, processes it with parameter `h=0.11` and outputs it into `out.jpg`. More information about the parameters can be obtained by invoking `frr --help`.
## Project structure
Folders:
- *docs*: documentation.
- *src*: contains list of folders for sources, e.g. python.
- *tests*: tests that follow the structure of src/python.## Credits
This repository implements paper [Fast Single Image Reflection Suppression via Convex Optimization](https://arxiv.org/pdf/1903.03889.pdf) authored by Yang Yang, Wenye Ma, Yin Zheng, Jian-Feng Cai and Weiyu Xu.