Skip to content

mgranchelli/foreground-extraction

Repository files navigation

Foreground Extraction with OpenCV and GrabCut Algorithm

Il seguente repo contiene il progetto realizzato per il corso di Intelligenza Artificiale 2021/2022.

L’estrazione interattiva in primo piano su un'immagine avviene disegnando un rettangolo contenente la regione in primo piano da estrarre. Tale rettangolo viene dato in input all'algoritmo GrabCut presente all'interno della libreria OpenCV e viene restituita una nuova immagine contenente la regione in primo piano all’interno del rettangolo disegnato.

GrabCut è un metodo di segmentazione delle immagini basato sui tagli dei grafi che non fa uso di tecniche di Machine Learning. Nella Computer Vision la segmentazione è una delle elaborazioni delle immagini cha avviene a livello intermedio.

Testato con:

numpy 1.23.0
opencv_python 4.6.0.66
python 3.9.2

Getting Started

$ git clone https://github.com/mgranchelli/foreground-extraction.git
$ cd ./foreground-extraction
$ pip install -r requirements.txt

Basic Usage

$ python3 foreground-extraction.py -i path-image

Nella finestra che mostrerà l'immagine è possibile disegnare un rettangolo con il mouse che conterrà la regione da estrarre. Una volta disegnato il rettangolo si aprirà una nuova finestra contenente la nuova immagine con la regione in primo piano presente all'interno del rettangolo. Se -i path-image non specificato verrà aperta l'immagine di default avengers.jpeg.

Per chiudere il processo è possibile digitare q.

Example

Test effettuati:

$ python3 foreground-extraction.py

Test 1

$ python3 foreground-extraction.py

Test 2

$ python3 foreground-extraction.py -i assets/images/jon-snow.jpeg

Test 3

About

Project of 2021-2022 Intelligenza Artificiale course at Roma Tre University.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages