如何在Google Colab挂载仅含图片的Google Drive文件夹并遍历
在Google Colab中挂载图片文件夹并批量处理图片
1. 挂载Google Drive中的图片文件夹
如果你的图片文件夹存储在Google Drive中,按以下步骤操作:
- 运行挂载代码,完成授权验证:
from google.colab import drive drive.mount('/content/drive')
执行后会弹出授权链接,复制验证码粘贴即可完成挂载,Drive内的文件会映射到/content/drive/MyDrive/路径下。
- 定义图片文件夹的完整路径:
image_folder_path = '/content/drive/MyDrive/你的图片文件夹名称'
2. 上传本地图片文件夹到Colab
若图片文件夹在本地电脑,推荐先将文件夹打包为ZIP文件,再上传解压:
- 上传ZIP文件并解压:
from google.colab import files import os # 创建存储解压后图片的文件夹 os.makedirs('/content/local_images', exist_ok=True) # 上传本地ZIP文件 uploaded = files.upload() # 解压ZIP到目标文件夹(假设上传的文件名为images.zip) !unzip images.zip -d /content/local_images # 定义图片文件夹路径 image_folder_path = '/content/local_images'
3. 遍历图片并应用自定义函数
示例自定义处理函数
先编写你的图片处理逻辑,比如以下示例将图片转为灰度图并保存:
import cv2 def process_image(image_path): # 读取图片 img = cv2.imread(image_path) # 自定义处理逻辑(这里以转灰度为例) gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 保存处理后的图片 save_dir = '/content/processed_images' os.makedirs(save_dir, exist_ok=True) save_path = os.path.join(save_dir, os.path.basename(image_path)) cv2.imwrite(save_path, gray_img) return gray_img
遍历并批量处理
方法1:通过os.listdir筛选图片格式
import os # 定义需要处理的图片格式 image_extensions = ['.jpg', '.jpeg', '.png', '.bmp', '.gif'] for filename in os.listdir(image_folder_path): # 过滤非图片文件 if any(filename.lower().endswith(ext) for ext in image_extensions): img_path = os.path.join(image_folder_path, filename) # 应用自定义函数 process_image(img_path) print(f"已完成处理:{filename}")
方法2:用glob直接匹配图片文件(更简洁)
import glob # 匹配文件夹下所有JPG和PNG图片(可根据需要添加其他格式) image_paths = glob.glob(os.path.join(image_folder_path, '*.[jJ][pP][gG]')) + glob.glob(os.path.join(image_folder_path, '*.[pP][nN][gG]')) for img_path in image_paths: process_image(img_path) print(f"已完成处理:{os.path.basename(img_path)}")
内容的提问来源于stack exchange,提问作者sriracha
相关产品推荐
相关产品推荐

