使用预训练Caffe模型进行图片人脸检测时执行代码首行报错求助
解决OpenCV dnn加载Caffe人脸检测模型时的解析错误
看了你的报错信息,问题根源其实很明确——你用的OpenCV 3.4.2版本太老,不支持你那版deploy.prototxt里的clip参数。
具体来说,报错里的Message type "opencv_caffe.DetectionOutputParameter" has no field named "clip",就是说旧版本的OpenCV dnn模块在解析Caffe的配置文件时,根本不知道clip这个字段是什么,所以直接抛出了解析失败的错误。
给你两个简单的解决办法:
修改deploy.prototxt配置文件
找到文件里第1788行左右的clip: true这一行(对应报错里的行号),要么直接删掉这一行,要么在前面加个#把它注释掉。修改后,旧版本的OpenCV就能正常解析这个配置文件了。升级你的OpenCV版本
如果不想改动配置文件,直接把OpenCV升级到3.4.5及以上版本(更推荐直接升到4.x的稳定版),新版本的dnn模块已经支持clip这个参数了。
用pip升级的话,执行这条命令:pip install --upgrade opencv-python要是你用的是conda环境,用conda命令升级更稳妥:
conda update opencv
另外补充一句:你之前试的改绝对路径、换单双引号这些操作其实没问题,但不是这个错误的原因——毕竟报错已经明确是解析prototxt时的字段不匹配,和文件路径无关。
内容的提问来源于stack exchange,提问作者stackdon'tknow
相关产品推荐
相关产品推荐

