From 16c59e7c9c93631119e716f81f88c8c747215934 Mon Sep 17 00:00:00 2001 From: Andrea Costantino <59078281+costantinoai@users.noreply.github.com> Date: Wed, 8 Mar 2023 10:24:41 +0000 Subject: [PATCH 1/9] Update README.md --- README.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d2930c4..e841f92 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +This repo was forked from https://github.com/TimManiquet/occlusion + # Occlusion of Images This repository contains three Python scripts to apply occlusion to a set of images in different ways. The three ways of occluding images are: by adding **blobs** on top of images, by adding a **partial viewing** mask with apertures on top of the images, or by **deleting** parts of the images. Each of these manipulations, occludes objects in the images such that only a _certain proportion_ of them will remain visible. @@ -12,6 +14,14 @@ To ensure that the occluded proportion is calculated correctly, make sure the i - glob - os +## Installation + +To install this package using pip, first ensure that you have Git installed on your system. Then, create a new virtual environment and activate it. Finally, run the following command: + +```pip install git+https://github.com/TimManiquet/occlusion.git@v0.1``` + +You can also just clone or download the repo (see below) + ## Usage 1. Clone or download this repository. 2. Place the images to occlude in the `img_dir` folder. @@ -82,10 +92,3 @@ This example applies different level and types of occlusion to the images in the alt="Alt text" title="Few large blob occluders" style="display: inline-block; margin: 0 auto; max-width: 300px"> - - -## Installation - -To install this package using pip, first ensure that you have Git installed on your system. Then, create a new virtual environment and activate it. Finally, run the following command: - -```pip install git+https://github.com/TimManiquet/occlusion.git@v0.1``` From 79d575b95ed0afb0a62cd21a785a0a8a66d40ab0 Mon Sep 17 00:00:00 2001 From: Andrea Costantino <59078281+costantinoai@users.noreply.github.com> Date: Wed, 8 Mar 2023 10:45:29 +0000 Subject: [PATCH 2/9] Create test.txt --- data/test.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/test.txt diff --git a/data/test.txt b/data/test.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/data/test.txt @@ -0,0 +1 @@ + From f4b089f550787e7e1c15ee7bb35f7b7958d86389 Mon Sep 17 00:00:00 2001 From: Andrea Costantino <59078281+costantinoai@users.noreply.github.com> Date: Wed, 8 Mar 2023 10:46:22 +0000 Subject: [PATCH 3/9] add manipulation example image --- data/manipulations.png | Bin 0 -> 82801 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 data/manipulations.png diff --git a/data/manipulations.png b/data/manipulations.png new file mode 100644 index 0000000000000000000000000000000000000000..6d851e338d2d96a6dcf8b63135a463c46d50f0f6 GIT binary patch literal 82801 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 Date: Wed, 8 Mar 2023 10:54:33 +0000 Subject: [PATCH 4/9] Update README.md --- README.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e841f92..0dc365b 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,15 @@ This repo was forked from https://github.com/TimManiquet/occlusion # Occlusion of Images This repository contains three Python scripts to apply occlusion to a set of images in different ways. The three ways of occluding images are: by adding **blobs** on top of images, by adding a **partial viewing** mask with apertures on top of the images, or by **deleting** parts of the images. Each of these manipulations, occludes objects in the images such that only a _certain proportion_ of them will remain visible. +

+Manipulations example +

+ ## Input images To ensure that the occluded proportion is calculated correctly, make sure the input images contain an transparent mask (alpha channel) where the object is delineated from the background. These images should be 4-channel, grayscale images. Example of such images can be found in the `input images` folder. @@ -85,10 +94,6 @@ occlude( ``` -This example applies different level and types of occlusion to the images in the `input_dir` folder. The resulting occluded images will be saved in the `output_images` folder. An example output object from this command is found below: +This example applies different level and types of occlusion to the images in the `input_dir` folder. The resulting occluded images will be saved in the `output_images` folder.This example script can be found in the `data` folder, along with a jupyter notebook showing different manipulations. + -Alt text From 997347a932db4b24c9b5885eb678c1d8097f0a01 Mon Sep 17 00:00:00 2001 From: Andrea Costantino <59078281+costantinoai@users.noreply.github.com> Date: Wed, 8 Mar 2023 10:55:30 +0000 Subject: [PATCH 5/9] Rename demo.ipynb to data/demo.ipynb --- demo.ipynb => data/demo.ipynb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename demo.ipynb => data/demo.ipynb (100%) diff --git a/demo.ipynb b/data/demo.ipynb similarity index 100% rename from demo.ipynb rename to data/demo.ipynb From ffcf46fe6c21672eb4d0c643464650ee1883a4a0 Mon Sep 17 00:00:00 2001 From: Andrea Costantino <59078281+costantinoai@users.noreply.github.com> Date: Wed, 8 Mar 2023 10:56:08 +0000 Subject: [PATCH 6/9] Delete test.txt --- data/test.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 data/test.txt diff --git a/data/test.txt b/data/test.txt deleted file mode 100644 index 8b13789..0000000 --- a/data/test.txt +++ /dev/null @@ -1 +0,0 @@ - From bbe9ff4a998bf09cc1b755d367388d2fa4b0a2e4 Mon Sep 17 00:00:00 2001 From: Andrea Costantino <59078281+costantinoai@users.noreply.github.com> Date: Wed, 8 Mar 2023 10:56:54 +0000 Subject: [PATCH 7/9] Rename example.py to data/example.py --- example.py => data/example.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename example.py => data/example.py (100%) diff --git a/example.py b/data/example.py similarity index 100% rename from example.py rename to data/example.py From 014550fa51ce9f8850cd6003ad3ad429d1f49298 Mon Sep 17 00:00:00 2001 From: Andrea Costantino <59078281+costantinoai@users.noreply.github.com> Date: Wed, 8 Mar 2023 10:58:57 +0000 Subject: [PATCH 8/9] Update demo.ipynb --- data/demo.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/demo.ipynb b/data/demo.ipynb index 2c43e3e..4b06499 100644 --- a/data/demo.ipynb +++ b/data/demo.ipynb @@ -6,7 +6,7 @@ "source": [ "## [Occlude images](#toc0_)\n", "\n", - "This notebook illustrates how to use the functions contained in this repository. " + "This notebook illustrates how to use the functions contained in this repository. To run this notebook, clone the repository and place the notebook in the root folder, or install the repo using git (see Installation on the README file)." ] }, { From 3eae6508ccaf518f502afef706d38779855ad65f Mon Sep 17 00:00:00 2001 From: Tim Maniquet <61991543+TimManiquet@users.noreply.github.com> Date: Wed, 8 Mar 2023 15:40:26 +0100 Subject: [PATCH 9/9] Update README.md --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 0dc365b..fe47061 100644 --- a/README.md +++ b/README.md @@ -96,4 +96,26 @@ occlude( This example applies different level and types of occlusion to the images in the `input_dir` folder. The resulting occluded images will be saved in the `output_images` folder.This example script can be found in the `data` folder, along with a jupyter notebook showing different manipulations. +## Outputs +Below are example output images from different commands. +```blobs("path/to/cat.png", easy=10, hard=50, many_small=True, col=255)``` + +

+ +

+ +```deletion("path/to/building.png", easy=40, hard=70, many_small=True, few_large=True)``` + +

+ +

+

+ +

+ +```partial_viewing("path/to/bird.png", easy=20, hard=90, many_small=False, few_large=True, seed=10)``` + +

+ +