如何在Google Colab保存上传图片,以用cv2.imread实现Keras分类预测?
当然可以!把上传的图片保存到Colab目录的实现方法
完全没问题——你可以把通过files.upload()获取的字节流保存到Colab虚拟机的本地目录中,这样就能直接用cv2.imread()传入文件路径来处理图片了。下面是具体的实现步骤和代码示例:
步骤1:导入所需模块
首先导入Colab的文件上传工具、OpenCV和文件操作模块:
from google.colab import files import cv2 import os
步骤2:上传并保存图片
使用files.upload()触发本地文件选择,然后将上传的字节内容写入到Colab的当前工作目录:
# 触发本地文件上传 uploaded = files.upload() # 遍历上传的文件(支持同时传多个) for file_name in uploaded.keys(): # 以二进制写入模式保存文件到当前目录 with open(file_name, 'wb') as f: f.write(uploaded[file_name]) print(f"✅ 文件 {file_name} 已成功保存到Colab目录:{os.getcwd()}")
步骤3:用OpenCV读取并处理图片
现在就可以像本地环境一样,用cv2.imread()传入文件名来读取图片,之后就能喂给你的模型做预测了:
# 读取刚才保存的图片(这里以最后一个上传的文件为例,你也可以指定具体文件名) img = cv2.imread(file_name) # 验证读取是否成功 if img is not None: print(f"图片读取成功,尺寸为:{img.shape}") # 这里加入你的模型预测逻辑 # 比如: # img_preprocessed = preprocess_image(img) # 按你的模型要求预处理 # prediction = your_trained_model.predict(img_preprocessed) else: print("❌ 图片读取失败,请检查文件是否为有效图片格式")
额外提示:长期保存文件
注意Colab的虚拟机是临时的,会话结束后所有本地文件都会被清空。如果需要长期保存图片或模型,建议挂载你的Google Drive,把文件保存到Drive目录中:
from google.colab import drive # 挂载Drive drive.mount('/content/drive') # 保存到Drive的指定路径(比如MyDrive下的ColabImages文件夹) save_path = '/content/drive/MyDrive/ColabImages/' + file_name with open(save_path, 'wb') as f: f.write(uploaded[file_name]) print(f"文件已保存到Drive:{save_path}")
这样下次打开Colab会话时,只要重新挂载Drive,就能直接读取之前保存的图片了。
内容的提问来源于stack exchange,提问作者jruivo
相关产品推荐
相关产品推荐

