我的Jupyter Notebook有以下代码将图像上传到Colab:
from google.colab import files
uploaded = files.upload()
我收到提示输入文件。哪个上传。
我使用以下方法验证文件上传是否成功:
!ls
我发现它就在那里。
我使用以下方法检查当前的工作目录:
import os
os.getcwd()
它告诉我它是/ content
现在,以下任何一个电话......
cv2.imread(img_path, 1)
cv2.imread(img_path, 0)
cv2.imread(img_path)
无法加载文件。
如果我只使用文件名或完整路径,它们也会失败。
有关正在发生的事情的任何想法?
答案 0 :(得分:8)
使用此功能上传文件。它也会保存它们。
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())
现在(sep 2018),左侧窗格有一个“文件”选项卡,可让您轻松浏览文件和上传文件。您也可以通过双击文件名来下载。
答案 1 :(得分:3)
Colab google:在多个子目录中上传图片 如果您想使用Colab谷歌上传多个子目录中的图像(或文件),请按照以下步骤操作: - 我假设您的图像(文件)被分成3个子目录(train,validate,test),在主目录中称为(dataDir): 1-将文件夹(dataDir)压缩到(dataDir.zip) 2-在Colab单元格中编写此代码:
from google.colab import files
uploaded = files.upload()
3-按下'选择文件'并从您的PC上传(dataDir.zip)到Colab 现在(dataDir.zip)上传到你的谷歌硬盘! 4-让我们通过编写这个简单的代码将文件夹(dataDir.zip)解压缩到一个名为(data)的文件夹中:
import zipfile
import io
data = zipfile.ZipFile(io.BytesIO(uploaded['dataDir.zip']), 'r')
data.extractall()
5-现在一切准备就绪,让我们通过打印(数据)文件夹的内容来检查:
data.printdir()
6-然后阅读图像,计算它们,拆分它们并围绕它们玩,请写下面的代码:
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-就是这样!享受!
答案 2 :(得分:2)
您可以使用以下命令直接从互联网上在colab上获取图像
!wget "copy paste the image address here"
使用!ls
使用以下代码显示图像:
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()
答案 3 :(得分:2)
答案 4 :(得分:1)
在Google Colab上上传,阅读和查看图像文件的最简单方法。
“ ----------------------- 将图片上传到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])))
代码说明
在colab
中运行此代码后,将出现一个带有两个按钮“选择文件”和“取消上传”的小gui,使用这些按钮,您可以选择任何本地文件并将其上传。
“ ----------------------- 检查图像是否已上传 ----------------- --------------“
运行此命令:
import os
!ls
os.getcwd()
!ls
-将为您提供上传文件的名称
os.getcwd()
-将为您提供上传文件的文件夹路径。
“ ----------------------------- 从上传的文件中获取图像数据 ------ --------“
运行代码:
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)
代码说明
第1行:
items = os.listdir('/content')
print(items)
项目将包含上载文件的所有文件名的列表。
第3至9行:
第3行中的 for
循环可帮助您遍历上载的文件列表。
第4行,就我而言,我只想读取图像文件,因此我选择仅打开
以".jpg"
第5行将帮助您查看图像文件名
第6行将帮助您使用文件夹生成图像数据的完整路径
第7行,您可以打印完整路径
第8行将帮助您读取彩色图像数据并将其存储在image
变量中
第9行可以打印图像数据
“ -------------------------- 查看图片 ---------- ---------------“
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)
快乐的编码,就这么简单。
答案 5 :(得分:1)
您可以使用此功能绘制提供路径的图像。 使用函数可以很好地构造代码。
from PIL import Image # Image manipulations
import matplotlib.pyplot as plt
%matplotlib inline
# This function is used more for debugging and showing results later. It plots the image into the notebook
def imshow(image_path):
# Open the image to show it in the first column of the plot
image = Image.open(image_path)
# Create the figure
fig = plt.figure(figsize=(50,5))
ax = fig.add_subplot(1, 1, 1)
# Plot the image in the first axe with it's category name
ax.axis('off')
ax.set_title(image_path)
ax.imshow(image)
答案 6 :(得分:0)
假设您可能没有从内存中写入文件?
上传后尝试以下代码:
with open("wash care labels", 'w') as f:
f.write(uploaded[uploaded.keys()[0]])
将“wash care labels.xx”替换为您的文件名。这会从内存中写入文件。然后尝试调用该文件。
希望这适合你。
答案 7 :(得分:0)
哈克在colab上传图片文件!
https://colab.research.google.com/
以下代码将图像(文件)从本地驱动器加载到colab。
from google.colab import files
from io import BytesIO
from PIL import Image
uploaded = files.upload()
im = Image.open(BytesIO(uploaded['Image_file_name.jpg']))
使用以下命令在google colab笔记本中查看图像:
import matplotlib.pyplot as plt
plt.imshow(im)
plt.show()
答案 8 :(得分:0)
更简单的方法:
由于colab提供了挂载Google驱动器的选项
'drive/My Drive/'
下的文件代码以检查文件
import glob
glob.glob("drive/My Drive/your_dir/*.jpg")
答案 9 :(得分:0)
将其上传到笔记本后,执行此操作
import cv2
import numpy as np
from google.colab.patches import cv2_imshow
img = cv2.imread('./your image file.jpg')
cv2_imshow(img)
cv2.waitKey()
答案 10 :(得分:0)
from deepface import DeepFace
import cv2
import matplotlib.pyplot as plt
from google.colab import files
from io import BytesIO
from PIL import Image
uploaded = files.upload()
next line
# im = Image.open(BytesIO(uploaded['img.PNG']))
img = cv2.imread("theCorona.PNG")
plt.imshow(img[:,:, ::-1])
plt.show()