报错信息:
persistence.cpp:1814: error: (-215:Assertion failed) blockIdx < fs_data_ptrs.size() in function ‘getNodePtr’
出错的方式:
import cv2
'''
示例yaml:
%YAML:1.0
---
mat1: !!opencv-matrix
rows: 2
cols: 2
dt: d
data: [ 9.1179013966120381e-01, 5.8077159274593226e-03,
6.4881478375454160e-01, 6.4059885063541522e-01 ]
'''
test_path = "/YAML_PATH"
def params_get(path):
params = cv2.FileStorage(path,cv2.FILE_STORAGE_READ)
return params
if __name__ == "__main__":
para = params_get(test_path)
params = para.getNode("mat1").mat()
问题分析:
代码最后一行报错,感觉是cv2.FileStorage(path,cv2.FILE_STORAGE_READ)和getNode要连着用 不要写进函数 可能release了
解决方案:
params = cv2.FileStorage(path,cv2.FILE_STORAGE_READ)
params = params.getNode("mat1").mat()