今天做图像识别改了一天的bug,在命令行可以直接跑起来,但是到了pycharm就会出错。
weightsPath = "mytask.weights" # 权重文件
configPath = "mytask.cfg" # 配置文件
labelsPath = "mytask.names" # label名称
CONFIDENCE = 0.95 # 过滤弱检测的最小概率
THRESHOLD = 0.4 # 非最大值抑制阈值
# 加载网络、配置权重
net = cv2.dnn.readNetFromDarknet(configPath, weightsPath)
报错如下
cv2.error: OpenCV(4.3.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-6cwppm05\opencv\modules\dnn\src\darknet\darknet_importer.cpp:207: error: (-212:Parsing error) Failed to parse NetParameter file: mytask.cfg in function 'cv::dnn::dnn4_v20200310::readNetFromDarknet'
有如下几种可能:
1.opencv的版本建议直接更新到最新版本,我用的是4.3.0.
pip install -U opencv-python==4.3.0.38
2.就是配置文件.cfg变成测试模式
[net]
# Testing
batch=1
subdivisions=1
# Training
#batch=4
#subdivisions=2
3.如果没解决那就是路径全部改为绝对路径
weightsPath = "D:\\mask\\mytask.weights" # 权重文件
configPath = "D:\\mask\\mytask.cfg" # 配置文件
labelsPath = "D:\\mask\\mytask.names" # label名称
CONFIDENCE = 0.95 # 过滤弱检测的最小概率
THRESHOLD = 0.4 # 非最大值抑制阈值
# 加载网络、配置权重
net = cv2.dnn.readNetFromDarknet(configPath, weightsPath)