无法在 python 中进行 OpenCV 人脸检测
Not able to work on face detection of OpenCV in python
我目前正在学习使用 CNN 等进行图像检测。我发现了一篇很好的文章 here,其中解释了使用 OpenCV 进行人脸检测的步骤。我遵循了每一个步骤。但是在尝试测试单个样本图像时,我真的被困了几个小时。下面是我在 google Colab 中使用的代码:
import cv2
import matplotlib.pyplot as plt
import dlib
import os
from imutils import face_utils
font = cv2.FONT_HERSHEY_SIMPLEX
cascPath=r'C:\Users\randomUser\Desktop\haarcascade_frontalface_default.xml'
eyePath = r'C:\Users\randomUser\Desktop\haarcascade_eye.xml'
smilePath = r'C:\Users\randomUser\Desktop\haarcascade_smile.xml'
faceCascade = cv2.CascadeClassifier(cascPath)
eyeCascade = cv2.CascadeClassifier(eyePath)
smileCascade = cv2.CascadeClassifier(smilePath)
# even if I use the below path, I am still getting the error.
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = cv2.imread('imagedata.jpeg')
plt.figure(figsize=(12,8))
plt.imshow(gray, cmap='gray')
plt.show()
我已经在我的目录位置下载了上面提到的所有默认文件以及测试图像 imagedata
但是,当我在 运行 的前几步时,出现以下错误 :(
我试过给出物理路径,但我不明白我错过了什么。
我 运行 浏览了解释错误性质的不同文章,但其中 none 有帮助,所以我想直接在这里问。
你应该:
print( gray.shape )
看完之后。因为很可能您正在阅读一个不存在的文件,该文件呈现所有代码都没有实际意义。
我想我发现了错误:
# This is what you have
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = cv2.imread('imagedata.jpeg')
# This is what you should have
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = cv2.imread(path) # <-- you weren't using the path of the image
用 PIL 打开图像?
from PIL import Image
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = Image.open(path).convert("L") # L to open the image in gray scale
我遇到的问题是因为 google 驱动器路径。研究并使用Image路径后,发现在使用colab时,挂载google驱动,即使给绝对路径,也会在/content处添加路径的开始。正因为如此,路径不正确。
我目前正在学习使用 CNN 等进行图像检测。我发现了一篇很好的文章 here,其中解释了使用 OpenCV 进行人脸检测的步骤。我遵循了每一个步骤。但是在尝试测试单个样本图像时,我真的被困了几个小时。下面是我在 google Colab 中使用的代码:
import cv2
import matplotlib.pyplot as plt
import dlib
import os
from imutils import face_utils
font = cv2.FONT_HERSHEY_SIMPLEX
cascPath=r'C:\Users\randomUser\Desktop\haarcascade_frontalface_default.xml'
eyePath = r'C:\Users\randomUser\Desktop\haarcascade_eye.xml'
smilePath = r'C:\Users\randomUser\Desktop\haarcascade_smile.xml'
faceCascade = cv2.CascadeClassifier(cascPath)
eyeCascade = cv2.CascadeClassifier(eyePath)
smileCascade = cv2.CascadeClassifier(smilePath)
# even if I use the below path, I am still getting the error.
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = cv2.imread('imagedata.jpeg')
plt.figure(figsize=(12,8))
plt.imshow(gray, cmap='gray')
plt.show()
我已经在我的目录位置下载了上面提到的所有默认文件以及测试图像 imagedata
但是,当我在 运行 的前几步时,出现以下错误 :(
我试过给出物理路径,但我不明白我错过了什么。
我 运行 浏览了解释错误性质的不同文章,但其中 none 有帮助,所以我想直接在这里问。
你应该:
print( gray.shape )
看完之后。因为很可能您正在阅读一个不存在的文件,该文件呈现所有代码都没有实际意义。
我想我发现了错误:
# This is what you have
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = cv2.imread('imagedata.jpeg')
# This is what you should have
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = cv2.imread(path) # <-- you weren't using the path of the image
用 PIL 打开图像?
from PIL import Image
path = r'C:\Users\randomUser\Desktop\imagedata.jpeg'
gray = Image.open(path).convert("L") # L to open the image in gray scale
我遇到的问题是因为 google 驱动器路径。研究并使用Image路径后,发现在使用colab时,挂载google驱动,即使给绝对路径,也会在/content处添加路径的开始。正因为如此,路径不正确。