Colab / Jupyter / Python: Как прочитать загруженный файл

#python #jupyter #google-colaboratory

#python #jupyter #google-colaboratory

Вопрос:

Я знаком с Python, но пытаюсь использовать его на Google диске / colab. Кажется, я не могу загрузить изображение с приведенным ниже кодом (файл находится в той же папке, что и code / notebook). Есть идеи?

 import cv2 
file1 = 'image1.JPG'
image = cv2.imread(file1)
if(image):
  print("File present")
else:
  print("File not present")
  

Комментарии:

1. куда вы загрузили изображение colab или Google Drive? попробуйте распечатать os.listdir() и проверьте наличие файла в результате

2. Спасибо. Результат listdir() таков: [‘.config’, ‘sample_data’]. Не похоже, что код и загруженные файлы находятся в одном каталоге — не уверен, почему?

3. это означает, что файл не загружен? вы смогли увидеть файл на боковой панели

4. Я вижу .ipynb и файл изображения в одном каталоге на Google Диске (Мой диск> Записные книжки Colab), но содержимое указанной папки не отображает файл изображения. Итак, .ipynb и .jpg находятся в разных папках, хотя они отображаются в одной папке на Google Диске.

5. куда вы загрузили файл colab или Google Drive?

Ответ №1:

Убедитесь, что ваше изображение действительно там, один из способов сделать это — использовать встроенную библиотеку IPython

 from IPython.display import Image
Image('file1.JPG')
  

Я запустил ваш приведенный выше код с рабочим изображением и получил ошибку из-за неоднозначности проверки существования массива numpy:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Принимая во внимание эти предложения и слегка изменяя ваш код с помощью определенно работающей URL-ссылки, вы получили желаемый результат:

 import cv2 
file1 = 'file1.JPG'
image = cv2.imread(file1)
print(type(image))
if image.any():
  print("File present")
else:
  print("File not present")

# Returns "File present"