最近在用其他人的写的一个C++的标定程序,该程序输出的是XML格式的文件。但是XML的文件在Python里面调用比较繁琐,然后翻了一下Opencv的API的接口,看到有opencv-python里面的API可以直接调用将XML直接读取。
使用cv2 的接口 Load() 直接读取XML文件, load 读取的数据是cvMat的格式, 我们可以直接调用numpy.asarray将数据转换成numpy格式,下面是一个简单的示例:
import cv2.cv as cv
import numpy
calib_filename = '/path/to/my/output/of/calibration.xml'
camera_matrix = numpy.asarray(cv.Load(calib_filename, cv.CreateMemStorage(), 'camera_matrix'))
dist_coeffs = numpy.asarray(cv.Load(calib_filename, cv.CreateMemStorage(), 'distortion_coefficients'))
将numpy格式转换成cvMat格式:
import cv2.cv as cv
mat_array = cv.fromarray(numpy_array)
版权声明:本文为l275596727原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。