私も同じエラーがありました。検索した後、OpenCVバグトラッカーでそれに関する議論を見つけました。彼らの議論から、私が理解したのは(もちろん、いくつかのエンコーディングなど、理解できなかったことがたくさんあります)、OpenCVは有効なxmlファイルのみをロードするということです。
有効な手段は、IplImage、cvSeq などの OpenCV 構造体である必要があります。それ以外の場合、いくつかのエラーがスローされます。
haarcascade xml ファイルをロードしようとすると、NULL が返されました。
TypeError: OpenCV returned NULL
任意の xml を読み込もうとしたとき (OpenCV とは関係なく、どこかから取得):
error: The node does not represent a user object (unknown type?)
最後に、画像をロードし、cv.Save を使用して xml ファイルに保存し、次のようにロードしようとしました。
import cv2
import numpy as np
img = cv2.cv.LoadImage('0.jpg',0)
cv2.cv.Save('sof.xml',img)
e=cv2.cv.Load("sof.xml")
print e
そして、正しい次の結果が得られました。
<iplimage(nChannels=1 width=300 height=300 widthStep=300 )>
これらの例とバグトラッカーの議論から私が理解したのは、OpenCV は有効な OpenCV 構造を含む xml ファイルのみをロードするということです。(そして、それは良いオプションです。OpenCV がそこにあるすべての xml ファイルをロードしようとするのはなぜですか? 関連するファイルのみを開く必要があります)。
これは私がこれについて知っていることです。それが役に立てば幸い !!!