Removes reflections quickly and easily.
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.
In your own project, just perform the following command:
# 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:
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)
...
- Clone the project and go to its root directory.
- Create and activate the virtual environment:
# create the environment python3 -m venv "venv" # activate the environment source venv/bin/activate # on Windows ./venv/Scripts/activate.ps1 in Powershell
- Install the necessary packages:
python -m pip install --upgrade pip python -m pip install --upgrade wheel setuptools pip-tools
- Install the packages from requirements and the project:
make sync # on windows just perform the following commands: python -m piptools sync requirements.txt; python -m pip install -e .
Example:
# 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
.
Folders:
- docs: documentation.
- src: contains list of folders for sources, e.g. python.
- tests: tests that follow the structure of src/python.
This repository implements paper Fast Single Image Reflection Suppression via Convex Optimization authored by Yang Yang, Wenye Ma, Yin Zheng, Jian-Feng Cai and Weiyu Xu.