1
votes

J'obtiens une erreur Open cv lorsque je travaille avec la détection d'objet

def create_train_data():
    training_data = []
    for img in tqdm(os.listdir(TRAIN_DIR)):

        label = Label_img(img)
        path = os.path.join(TRAIN_DIR,img)
        img = cv2.resize(cv2.imread(path),(IMG_SIZE,IMG_SIZE), interpolation = cv2.INTER_AREA)

0 commentaires

4 Réponses :


0
votes

J'ai eu cette erreur aujourd'hui parce que mon chemin des images n'était pas correct.Une peut essayer d'afficher une image pour voir si vous avez lu l'image avec succès.


1 commentaires

J'ai déjà vérifié que donc je suppose que ce n'est pas le problème



0
votes

J'ai donc trouvé une réponse à ma propre question !!!

Ce que j'ai fait, c'est d'imprimer les noms du chargement et l'image sur laquelle il s'est arrêté était corrompue. J'ai dû faire cela plusieurs fois.


0 commentaires

0
votes

Tapez simplement votre script ou votre cellule ipython pour vérifier s'il existe une image vide ou corrompue qui pourrait créer cette erreur.

import os
from PIL import Image

img_dir = r"/content/downloads/Cars"
for filename in os.listdir(img_dir):
    try :
        with Image.open(img_dir + "/" + filename) as im:
             print('ok')
    except :
        print(img_dir + "/" + filename)
        os.remove(img_dir + "/" + filename)

Remplacez img_dir par le nom du répertoire à partir duquel vous essayez de redimensionner les images. J'espère que cela a été utile.


0 commentaires

0
votes

C'est une réponse très tardive, mais j'ai eu beaucoup de difficulté avec celle-ci en essayant de comprendre pourquoi elle me disait que mes images étaient chargées comme vides même si mon chemin était correct et qu'aucune de mes images n'était corrompue, donc pour quiconque qui est ici et ne peut toujours pas le réparer: assurez-vous que vous n'avez pas .DS_Store comme fichier dans votre répertoire. Si vous le faites, ce n'est évidemment pas un fichier image, il est donc lu comme vide. Imprimez les images et si la première image est .DS_Store, supprimez-la: supprimez les fichiers .DS_STORE dans le dossier actuel et tous les sous-dossiers de la ligne de commande sur Mac et cela devrait fonctionner.


0 commentaires