Je suis en train de construire le code en utilisant python, pour lequel j'ai besoin de traiter au moins 50 images. Alors, comment dois-je lire les images une par une et le traiter. Est-il possible d'utiliser une boucle et ai-je besoin de créer une base de données séparée pour cela ou tout simplement enregistrer toutes les images dans un fichier séparé fera l'affaire?le traitement de plusieurs images en séquence dans opencv python
0
A
Répondre
0
J'ai écrit un code peut statisfy vos besoins.
import glob
import os,sys
import cv2
## Get all the png image in the PATH_TO_IMAGES
imgnames = sorted(glob.glob("/PATH_TO_IMAGES/*.png"))
for imgname in imgnames:
## Your core processing code
res = propress(imgname)
## rename and write back to the disk
#name, ext = os.path.splitext(imgname)
#imgname2 = name+"_res"+ext
imgname2 = "_res".join(os.path.splitext(imgname))
cv2.imwrite(imgname2, res)
0
La tâche consiste à étapes suivantes,
- Avoir les images dans un répertoire par exemple
foo/
- Obtenir la liste de toutes les images dans le foo/
Lopp sur la liste des images
3.1.
img = cv2.imread(images(i),0)
3.2.
ProcessImage(img)
# Exécuter une fonction arbitraire sur l'image3.3. filename = 'test' + str (i) + '. png'
3.4.
cv2.imwrite(filename, img)
- Fin de la boucle
Merci @Silencer, mais avoir du mal à réécrire les fichiers sur le disque. Il affiche l'erreur suivante: 'Fichier "C: \ Python36 \ Doc \ test \ A1.py", ligne 28, dans nom, ext = os.path.splitext (images) Fichier "C: \ Python36 \ lib \ ntpath.py ", ligne 223, dans splitext p = os.fspath (p) TypeError: objet attendu str, bytes ou os.PathLike, pas la liste ' –
Je n'arrive pas à comprendre ce qui ne va pas sans votre code. – Silencer
hey! cela a fonctionné, la nouvelle ligne que vous avez ajoutée au code. merci @Silencer –