Python人脸识别应用IndentationError报错修复请求
解决Python人脸识别应用中的IndentationError及依赖问题
一、修复IndentationError错误
这个错误的核心是if语句后缺少缩进的代码块,Python通过缩进划分代码逻辑块,条件判断语句后必须紧跟缩进的执行代码,哪怕是空逻辑也要用pass占位。
错误代码示例:
import cv2 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') img = cv2.imread('test.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.1, 4) if len(faces) > 0 print("Face detected!")
报错:IndentationError: expected an indented block after 'if' statement
修正后的代码:
import cv2 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') img = cv2.imread('test.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.1, 4) if len(faces) > 0: # 注意补全if语句末尾的冒号 print("Face detected!") # 这里必须缩进(统一用4个空格,不要混合空格和制表符) # 所有属于if逻辑的代码都要保持相同缩进
如果if语句暂时没有执行逻辑,需用pass占位避免报错:
if len(faces) > 0: pass
二、确认依赖库安装
人脸识别应用常用依赖及安装命令:
- OpenCV(图像处理核心):
pip install opencv-python - face-recognition(简化人脸识别逻辑):
pip install face-recognition - numpy(数值计算依赖):
pip install numpy
若教程用到dlib(face-recognition的底层依赖),可单独安装:pip install dlib
三、额外排查点
- 统一缩进规则:全程用4个空格,禁止混合空格和制表符
- 确认级联分类器文件路径:
haarcascade_frontalface_default.xml需放在程序可访问路径,或使用绝对路径 - 检查测试图片路径:确保图片文件存在,路径无拼写错误
内容的提问来源于stack exchange,提问作者Carel Felix
相关产品推荐
相关产品推荐

