OpenCV加载Caffe模型报错:无法打开deploy.prototxt文件
解决OpenCV加载SSD模型时的文件读取错误
错误代码与提示
model = cv2.dnn.readNetFromCaffe("deploy.prototxt", "res10_300x300_ssd_iter_140000.caffemodel")
错误提示:
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\caffe\caffe_io.cpp:1126: error: (-2:Unspecified error) FAILED: fs.is_open(). Can't open "deploy.prototxt" in function 'cv::dnn::ReadProtoFromTextFile'
错误原因
你的判断正确:程序无法找到deploy.prototxt文件,要么是文件未放在代码脚本同目录,要么是路径填写错误。
deploy.prototxt的作用
这是Caffe框架的模型部署配置文件,用纯文本定义了SSD模型的完整网络结构——包括输入输出尺寸、各层类型、参数设置等。OpenCV的dnn模块必须依赖这个文件解析模型结构,再配合权重文件(res10_300x300_ssd_iter_140000.caffemodel),才能成功加载并运行模型。
解决办法
- 统一文件位置:将
deploy.prototxt和代码脚本放在同一个文件夹下,保持代码中的相对路径不变 - 使用绝对路径:如果文件不在同目录,直接填写文件的完整绝对路径,示例:
model = cv2.dnn.readNetFromCaffe("D:/code/face_detector/deploy.prototxt", "D:/code/face_detector/res10_300x300_ssd_iter_140000.caffemodel") - 检查文件有效性:确认文件名无拼写错误(Linux/macOS系统需注意大小写),文件未损坏、下载完整
内容的提问来源于stack exchange,提问作者Sam Leggett
相关产品推荐
相关产品推荐

