diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ac0a644 --- /dev/null +++ b/.gitignore @@ -0,0 +1,141 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +cartoonbox/input/* +cartoonbox/output/* \ No newline at end of file diff --git a/INSTALLATION GUIDE.md b/INSTALLATION GUIDE.md new file mode 100644 index 0000000..336452e --- /dev/null +++ b/INSTALLATION GUIDE.md @@ -0,0 +1,13 @@ +Prerequisites for Windows 10: + +Python 3.7.9 (64 bit) (You CAN'T use Python 3.9) +ffmepg (make sure it's on your PATH) + + +commands: + +python -m venv env + +(activate environment) + +pip install -r requirements.txt \ No newline at end of file diff --git a/README.md b/README.md index 030150e..f446aea 100755 --- a/README.md +++ b/README.md @@ -56,9 +56,9 @@ ### Inference with Pre-trained Model -- Store test images in /test_code/test_images -- Run /test_code/cartoonize.py -- Results will be saved in /test_code/cartoonized_images +- Store test images in /cartoonbox/test_images +- Run /cartoonbox/cartoonize.py +- Results will be saved in /cartoonbox/cartoonized_images ### Train diff --git a/test_code/cartoonize.py b/cartoonbox/cartoonize.py old mode 100755 new mode 100644 similarity index 96% rename from test_code/cartoonize.py rename to cartoonbox/cartoonize.py index f32e962..dca0c76 --- a/test_code/cartoonize.py +++ b/cartoonbox/cartoonize.py @@ -2,8 +2,8 @@ import cv2 import numpy as np import tensorflow as tf -import network -import guided_filter +from cartoonbox import network +from cartoonbox import guided_filter from tqdm import tqdm diff --git a/test_code/guided_filter.py b/cartoonbox/guided_filter.py old mode 100755 new mode 100644 similarity index 100% rename from test_code/guided_filter.py rename to cartoonbox/guided_filter.py diff --git a/test_code/saved_models/checkpoint b/cartoonbox/models/checkpoint similarity index 100% rename from test_code/saved_models/checkpoint rename to cartoonbox/models/checkpoint diff --git a/test_code/saved_models/model-33999.data-00000-of-00001 b/cartoonbox/models/model-33999.data-00000-of-00001 similarity index 100% rename from test_code/saved_models/model-33999.data-00000-of-00001 rename to cartoonbox/models/model-33999.data-00000-of-00001 diff --git a/test_code/saved_models/model-33999.index b/cartoonbox/models/model-33999.index similarity index 100% rename from test_code/saved_models/model-33999.index rename to cartoonbox/models/model-33999.index diff --git a/test_code/network.py b/cartoonbox/network.py old mode 100755 new mode 100644 similarity index 100% rename from test_code/network.py rename to cartoonbox/network.py diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..47c031b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,35 @@ +absl-py==0.13.0 +astor==0.8.1 +cached-property==1.5.2 +cloudpickle==1.6.0 +colorama==0.4.4 +decorator==4.4.2 +ffmpeg==1.4 +gast==0.2.2 +google-pasta==0.2.0 +grpcio==1.39.0 +h5py==3.3.0 +importlib-metadata==4.6.1 +install==1.3.4 +Keras-Applications==1.0.8 +Keras-Preprocessing==1.1.2 +Markdown==3.3.4 +networkx==2.5.1 +numpy==1.19.5 +opencv-python==4.5.3.56 +opt-einsum==3.3.0 +Pillow==8.3.1 +protobuf==3.17.3 +PyWavelets==1.1.1 +scikit-image==0.14.5 +six==1.16.0 +tensorboard==1.15.0 +tensorflow==1.15.0 +tensorflow-estimator==1.15.1 +tensorflow-gpu==1.15.0 +termcolor==1.1.0 +tqdm==4.61.2 +typing-extensions==3.10.0.0 +Werkzeug==2.0.1 +wrapt==1.12.1 +zipp==3.5.0 diff --git a/run.py b/run.py new file mode 100644 index 0000000..a8536f2 --- /dev/null +++ b/run.py @@ -0,0 +1,10 @@ +import os +from cartoonbox.cartoonize import cartoonize + +model_path = './cartoonbox/models' +load_folder = './cartoonbox/input' +save_folder = './cartoonbox/output' + +if not os.path.exists(save_folder): + os.mkdir(save_folder) +cartoonize(load_folder, save_folder, model_path) \ No newline at end of file diff --git a/test_code/test_images/actress2.jpg b/test_code/test_images/actress2.jpg deleted file mode 100644 index c87a1fe..0000000 Binary files a/test_code/test_images/actress2.jpg and /dev/null differ diff --git a/test_code/test_images/china6.jpg b/test_code/test_images/china6.jpg deleted file mode 100644 index 69abc31..0000000 Binary files a/test_code/test_images/china6.jpg and /dev/null differ diff --git a/test_code/test_images/food16.jpg b/test_code/test_images/food16.jpg deleted file mode 100644 index ff6b131..0000000 Binary files a/test_code/test_images/food16.jpg and /dev/null differ diff --git a/test_code/test_images/food6.jpg b/test_code/test_images/food6.jpg deleted file mode 100644 index b622a76..0000000 Binary files a/test_code/test_images/food6.jpg and /dev/null differ diff --git a/test_code/test_images/liuyifei4.jpg b/test_code/test_images/liuyifei4.jpg deleted file mode 100644 index d41bb77..0000000 Binary files a/test_code/test_images/liuyifei4.jpg and /dev/null differ diff --git a/test_code/test_images/london1.jpg b/test_code/test_images/london1.jpg deleted file mode 100644 index dd72ffd..0000000 Binary files a/test_code/test_images/london1.jpg and /dev/null differ diff --git a/test_code/test_images/mountain4.jpg b/test_code/test_images/mountain4.jpg deleted file mode 100644 index 8f6da01..0000000 Binary files a/test_code/test_images/mountain4.jpg and /dev/null differ diff --git a/test_code/test_images/mountain5.jpg b/test_code/test_images/mountain5.jpg deleted file mode 100644 index e45d2fc..0000000 Binary files a/test_code/test_images/mountain5.jpg and /dev/null differ diff --git a/test_code/test_images/national_park1.jpg b/test_code/test_images/national_park1.jpg deleted file mode 100644 index 73a2bbb..0000000 Binary files a/test_code/test_images/national_park1.jpg and /dev/null differ diff --git a/test_code/test_images/party5.jpg b/test_code/test_images/party5.jpg deleted file mode 100644 index 2e7b3e8..0000000 Binary files a/test_code/test_images/party5.jpg and /dev/null differ diff --git a/test_code/test_images/party7.jpg b/test_code/test_images/party7.jpg deleted file mode 100644 index c35a8a9..0000000 Binary files a/test_code/test_images/party7.jpg and /dev/null differ diff --git a/images/city1.jpg b/test_images/city1.jpg similarity index 100% rename from images/city1.jpg rename to test_images/city1.jpg diff --git a/images/city2.jpg b/test_images/city2.jpg similarity index 100% rename from images/city2.jpg rename to test_images/city2.jpg diff --git a/images/folder.jpg b/test_images/folder.jpg similarity index 100% rename from images/folder.jpg rename to test_images/folder.jpg diff --git a/images/food.jpg b/test_images/food.jpg similarity index 100% rename from images/food.jpg rename to test_images/food.jpg diff --git a/images/home.jpg b/test_images/home.jpg similarity index 100% rename from images/home.jpg rename to test_images/home.jpg diff --git a/images/method.jpg b/test_images/method.jpg similarity index 100% rename from images/method.jpg rename to test_images/method.jpg diff --git a/images/person1.jpg b/test_images/person1.jpg similarity index 100% rename from images/person1.jpg rename to test_images/person1.jpg diff --git a/images/person2.jpg b/test_images/person2.jpg similarity index 100% rename from images/person2.jpg rename to test_images/person2.jpg diff --git a/images/use_cases.jpg b/test_images/use_cases.jpg similarity index 100% rename from images/use_cases.jpg rename to test_images/use_cases.jpg