Académique Documents
Professionnel Documents
Culture Documents
2 Coder une érosion (et une dilatation) tout seul comme un grand
1. Vous devez écrire la fonction my_rst_erode qui prend en paramètre une image I , et renvoie
l'érosion I ⊖ Γ . An de simplier votre travail, vous pourrez ignorer les pixels x de I qui sont au
bord de l'image. Testez votre fonction sur l'image jointe avec ce TP.
8
chien.png
2. De la même façon que pour la question précédente, proposez une fonction my_rst_dilate qui
prend en paramètre une image I , et renvoie la dilatation I ⊕ Γ .
8
2. Voici un code qui vous permettra, dans une boucle, de récupérer l'image de la webcam et l'acher.
Utilisez la touche "q" an de quitter la boucle et mettre n au programme. Si vous n'avez pas
de webcam, ce n'est pas grave : il vous sut de commenter et décommenter deux lignes de code
(regardez bien les commentaires) an que le ux vidéo provienne d'un chier vidéo.
# Create a videocapture object
#IF YOU DONT HAVE A WEBCAM - Comment the next line and uncomment the one after
camera =cv2.VideoCapture(0)
#camera = cv2.VideoCapture('Images/SG1.m4v')
#Forever loop
while (True):
# get the current video frame
return_code, image =camera.read()
#Short pause to display the image, if the user presses the q button, exit
r=cv2.waitKey(1)
if r==ord('q'):
break
4. Utilisez maintenant cette fonction à la place du premier gradient dans le programme utilisant la
webcam. Etes-vous maintenant temps réel?
5 Organiser vos chiers
Vous devez maintenant créer une librairie Python qui contiendra les dernières opérations morpholo-
giques que vous avez codées an de pouvoir les réutiliser lors des prochains TPs et éviter le copier/coller.
Vous devez :
1. Créer, à la racine de votre projet, un nouveau Python package appelé Commun.
2. Copier et coller le chier strel.build dans ce package.
3. Créer, dans ce package, un chier Python appelé morpho.py, et qui contiendra les fonctions mye-
rode, mydilate and mygrad codées dans la partie précédente.
4. Dans vos chiers futurs, si vous souhaitez réutiliser le code d'un de ces deux chiers, vous devez
écrire en début de chier
from Common import morpho, strel
A chaque fois que vous voudrez utiliser une fonction d'un de ces chiers, vous devrez l'appeler avec
le nom de son chier écrite avant. Par exemple, pour utiliser la fonction de dilatation, vous écrirez
morpho.mydilate(image, ...)
Respectez bien les underscores entre les trois éléments. Si vous avez un binôme, ne mettez pas ici
son nom et ne rendez qu'un seul chier en tout. Vous ne devez mettre aucun caractère accentué, ou signe
de ponctuation dans le nom de chier. Si votre nom ou votre prénom comportent un espace ou un tirer,
ne les faîtes pas gurer.
Si vous avez un binôme, rajoutez à la racine du chier zip un chier texte nommé où vous
spécierez votre nom ainsi que celui de votre binome, en suivant ce format (ne rajoutez rien d'autre que
binome.txt
Votre chier zip devra contenir, à sa racine (pas dans un sous dossier) votre programme. Il est indis-
pensable de respecter cette nomenclature des chiers.