Ce projet entre dans le cadre du cours de Traitement du Signal de 2ème année DLM de la HE-Arc. Il nous a été demandé de réaliser un projet (au choix parmis plusieurs). Dans notre cas, nous avons décidé de réaliser une application Python capable de détecter les contours d'une image à l'aide de l'algorithme de Canny.
## Useful links
## Project Tree
Voici l'arborescence du projet. Des images prêtes à l'emploi sont disponible dans le dossier `.\res`
```
tds-cannyproject
├─ canny.py
├─ filters.py
├─ fourierTransform.py
├─ imageReader.py
├─ main.py
├─ README.md
└─ res
├─ dice.png
├─ dog.png
├─ lemon.png
└─ mario.png
```
## Description
Description des differents modules du projet:
-`main.py` : Lance l'ensemble de l'application
-`filters.py` : Contient les fonctions appliquants les filtres basiques (RGB, CNY, GreyScale)
-`canny.py` : Applique l'algorithme de Canny à l'image. Le seul module contenant une classe (`CannyEdgeDetector`)
-`fourierTransform.py` : Contient une fonction pour calculer la transformée de Fourier et deux fonctions pour afficher les résultats.
-`imageReader.py` : module utilitaire utilisé pour la lecture d'une image.
## Utilisation
### Général
Le module `main.py` lance l'ensemble de l'application. Il est possible de le lancer en ligne de commande (depuis le répértoire du projet):
```
python main.py
```
Il est également possible de lancer l'application depuis VSCode directement. Aucun autre editeur n'a été testé mais celà devrait être également compatible.
L'image lu par l'application peut être changé. Pour celà il faut se rendre à la ligne 10 du module `main.py`
```python
img=imageReader.open("res\lemon.png")
```
Pour effectuer le traitement sur une autre image il suffit de remplacer le chemin de l'image `res\lemon.png` par celle que vous souhaitez traiter.
### Modules séparés
Chaque module est exécutable indépendemment des autres. Celà permet de voir exactement ce que fait un module en particulier.
Pour les lancers, la techniques est la même que pour le module `main.py`