You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Colab中使用OpenCV通过文件路径加载文件的方法

在Google Colab中配置OpenCV Haar-cascade路径与加载图像的方法

我来帮你梳理下在Colab里搞定OpenCV Haar-cascade分类器路径和图像加载的具体操作,亲测好用:

一、Haar-cascade分类器的路径配置

1. 从Google云端硬盘加载分类器文件

首先得把你的云端硬盘挂载到Colab环境里,执行这段代码:

from google.colab import drive
drive.mount('/content/drive')

挂载成功后,你就能直接访问云端硬盘里的文件了。比如你的分类器文件haarcascade_frontalface_default.xml存在云端硬盘的OpenCV/HaarCascades文件夹下,那完整路径就是/content/drive/MyDrive/OpenCV/HaarCascades/haarcascade_frontalface_default.xml。

加载分类器的代码就是:

import cv2
face_cascade = cv2.CascadeClassifier('/content/drive/MyDrive/OpenCV/HaarCascades/haarcascade_frontalface_default.xml')

要注意的是:路径一定要核对准确,少打一个文件夹名或者拼错文件名都会导致加载失败哦!

2. 手动上传分类器文件到Colab

如果不想挂载云端硬盘,直接手动上传也很方便:

  • 点击Colab左侧边栏的「文件」图标,然后点「上传文件」,选择本地的分类器文件上传。
  • 上传完成后,文件会默认存放在/content目录下,所以加载路径就是/content/haarcascade_frontalface_default.xml。
  • 要是你在Colab里新建了子文件夹(比如haar_files)并把文件移进去,路径就改成/content/haar_files/haarcascade_frontalface_default.xml。

对应的加载代码:

face_cascade = cv2.CascadeClassifier('/content/haarcascade_frontalface_default.xml')

二、使用OpenCV加载图像的操作

1. 从云端硬盘加载图像

同样需要先挂载云端硬盘(步骤和上面一样),假设你的测试图像test_face.jpg在云端硬盘的Images文件夹下,加载代码如下:

img = cv2.imread('/content/drive/MyDrive/Images/test_face.jpg')

小提示:OpenCV默认用BGR格式读取图像,如果之后要用Matplotlib显示,记得转成RGB格式:

img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

2. 手动上传图像到Colab

和上传分类器文件一样,把图像上传到Colab后,直接用/content/开头的路径加载:

img = cv2.imread('/content/test_face.jpg')
# 转RGB格式(如果需要的话)
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

完整示例代码

这里给你一个整合了所有步骤的Colab笔记本示例,直接复制就能跑:

# 挂载Google云端硬盘(如果使用云端文件,注释掉这部分可以用本地上传的文件)
from google.colab import drive
drive.mount('/content/drive')

# 导入所需库
import cv2
import matplotlib.pyplot as plt

# 加载Haar-cascade人脸分类器(这里用云端路径,可根据实际情况替换)
face_cascade = cv2.CascadeClassifier('/content/drive/MyDrive/OpenCV/HaarCascades/haarcascade_frontalface_default.xml')

# 加载测试图像(同样用云端路径,可替换)
img = cv2.imread('/content/drive/MyDrive/Images/test_face.jpg')
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# 人脸检测并绘制矩形框
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray_img, scaleFactor=1.1, minNeighbors=4)
for (x, y, w, h) in faces:
    cv2.rectangle(img_rgb, (x, y), (x+w, y+h), (255, 0, 0), 2)

# 显示检测结果
plt.imshow(img_rgb)
plt.axis('off')
plt.show()

内容的提问来源于stack exchange,提问作者Oved D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:19:06