web-dev-qa-db-fra.com

Chargement des images dans google colab

Mon code Jupyter Notebook contient le code suivant pour télécharger une image dans Colab:

from google.colab import files
uploaded = files.upload()

Je suis invité pour le fichier. Ce qui est téléchargé.

Je vérifie que le téléchargement du fichier a réussi en utilisant:

!ls

et je vois que c'est là.

Je vérifie le répertoire de travail actuel en utilisant:

import os
os.getcwd()

et il me dit que c'est/contenu

maintenant, aucun des appels suivants ...

cv2.imread(img_path, 1)
cv2.imread(img_path, 0)
cv2.imread(img_path)

ne parvient pas à charger le fichier.

ils échouent également si j'utilise uniquement le nom de fichier ou le chemin d'accès complet.

Des idées sur ce qui se passe?

2
djeetee

Utilisez cette fonction pour télécharger des fichiers. Cela les sauvera aussi.

def upload_files():
  from google.colab import files
  uploaded = files.upload()
  for k, v in uploaded.items():
    open(k, 'wb').write(v)
  return list(uploaded.keys())

Mettre à jour

Désormais (septembre 2018), le volet de gauche comporte un onglet "Fichiers" qui vous permet de parcourir des fichiers et de les télécharger facilement. Vous pouvez également télécharger en double-cliquant sur les noms de fichiers.

7

Colab google: téléchargement d’images dans plusieurs sous-répertoires: Si vous souhaitez importer des images (ou des fichiers) dans plusieurs sous-répertoires à l’aide de Colab google, procédez comme suit: - Je suppose que vos images (fichiers) sont divisées en 3 sous-répertoires (train, valider, tester) dans le répertoire principal appelé (dataDir): 1- Zipez le dossier (dataDir) à (dataDir.Zip) 2- Écrivez ceci code dans une cellule Colab:

from google.colab import files
uploaded = files.upload()

3- Appuyez sur 'Choisir les fichiers' et téléchargez (dataDir.Zip) de votre PC vers le ColabMaintenant le (dataDir.Zip) est chargé sur votre lecteur Google! 4- Décompressez le dossier (dataDir .Zip) dans un dossier appelé (data) en écrivant ce code simple:

import zipfile
import io
data = zipfile.ZipFile(io.BytesIO(uploaded['dataDir.Zip']), 'r')
data.extractall()

5- Maintenant que tout est prêt, vérifions cela en imprimant le contenu du dossier (data):

data.printdir()

6- Ensuite, pour lire les images, les compter, les scinder et les jouer, écrivez le code suivant:

train_data_dir = 'data/training'  
validation_data_dir = 'data/validation'  
test_data_dir = 'data/test' 
target_names = [item for item in os.listdir(train_data_dir) if os.path.isdir(os.path.join(train_data_dir, item))]
nb_train_samples = sum([len(files) for _, _, files in os.walk(train_data_dir)])  
nb_validation_samples = sum([len(files) for _, _, files in os.walk(validation_data_dir)])
nb_test_samples = sum([len(files) for _, _, files in os.walk(test_data_dir)])
total_nb_samples = nb_train_samples + nb_validation_samples + nb_test_samples

nb_classes = len(target_names)      # number of output classes

print('Training a CNN Multi-Classifier Model ......')
print('\n - names of classes: ', target_names, '\n - # of classes: ', nb_classes)
print(' - # of trained samples: ', nb_train_samples, '\n - # of validation samples: ', nb_validation_samples,
      '\n - # of test samples: ', nb_test_samples,
       '\n - total # of samples: ', total_nb_samples, '\n - train ratio:', round(nb_train_samples/total_nb_samples*100, 2),
      '\n - validation ratio:', round(nb_validation_samples/total_nb_samples*100, 2),
      '\n - test ratio:', round(nb_test_samples/total_nb_samples*100, 2),
     ' %', '\n - # of epochs: ', epochs, '\n - batch size: ', batch_size)

7- C'est ça! Prendre plaisir!

3
Yasser Mustafa

Vous pouvez une image sur colab directement depuis Internet en utilisant la commande

!wget "copy paste the image address here"

vérifier avec!ls

Affichez l'image en utilisant le code ci-dessous:

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread("Sample-image.jpg")
img_cvt=cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img_cvt)
plt.show()
2
minakshi das

La façon la plus simple de télécharger, lire et afficher un fichier image sur Google Colab.

"--------------------- Importer une image dans colab -code ------------------ --------- "

from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys():
  print('User uploaded file "{name}" with length {length} bytes'.format(
      name=fn, length=len(uploaded[fn])))

Explication du code

Une fois que vous avez exécuté ce code dans colab, une petite interface graphique avec deux boutons, "Choisir le fichier" et "Annuler le téléchargement", apparaît. Grâce à ces boutons, vous pouvez choisir n'importe quel fichier local et le télécharger.

"--------------------- Vérifiez si l'image a été téléchargée ------------------- -------- "

Exécutez cette commande:

import os
!ls
os.getcwd()

!ls - vous donnera les noms des fichiers téléchargés

os.getcwd() - vous donnera le chemin du dossier où vos fichiers ont été téléchargés.

"--------------------------- Obtenir les données d'image du fichier téléchargé ------------ - "

Exécutez le code:

0 import cv2
1 items = os.listdir('/content')
2 print (items)
3 for each_image in items:
4  if each_image.endswith(".jpg"):
5   print (each_image)
6   full_path = "/content/" + each_image
7   print (full_path)
8   image = cv2.imread(full_path)
9   print (image)

Explication du code

ligne 1:

items = os.listdir('/content')
print(items)

les éléments auront une liste de tous les noms de fichiers du fichier téléchargé.

lignes 3 à 9:

La boucle for de la ligne 3 vous aide à parcourir la liste des fichiers téléchargés.

ligne 4, dans mon cas, je ne voulais lire que le fichier image, alors j’ai choisi d’ouvrir uniquement les fichiers qui se terminent par ".jpg"

la ligne 5 vous aidera à voir les noms de fichier image

la ligne 6 vous aidera à générer le chemin complet des données d’image avec le dossier

ligne 7, vous pouvez imprimer le chemin complet

la ligne 8 vous aidera à lire les données d’image couleur et à les stocker dans la variable image

ligne 9, vous pouvez imprimer les données d'image

"-------------------------- voir l'image ---------------- --------- "

import matplotlib.pyplot as plt
import os
import cv2
items = os.listdir('/content')
print (items)    

for each_image in items:
  if each_image.endswith(".jpg"):
    print (each_image)
    full_path = "/content/" + each_image
    print (full_path)
    image = cv2.imread(full_path)
    image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
plt.figure()
plt.imshow(image)
plt.colorbar()
plt.grid(False)

codage heureux et simple comme ça.

1
lookinsideu

Hack pour télécharger un fichier image dans colab!

https://colab.research.google.com/

Le code suivant charge les images (fichiers) du lecteur local dans colab.

from io import BytesIO
from PIL import Image

uploaded = files.upload()
im = Image.open(BytesIO(uploaded['Image_file_name.jpg']))

Affichez l'image dans Google Colab Notebook à l'aide de la commande suivante:

import matplotlib.pyplot as plt

plt.imshow(im)
plt.show()
0

Je suppose que vous n’avez peut-être pas écrit le fichier à partir de la mémoire? 

essayez le code ci-dessous après le téléchargement: 

with open("wash care labels", 'w') as f:
    f.write(uploaded[uploaded.keys()[0]])

remplacez "wash care labels.xx" par votre nom de fichier. Ceci écrit le fichier de la mémoire. puis essayez d'appeler le fichier.

J'espère que cela fonctionne pour toi.

0
Pais