2016-04-01 5 views
0

私は回帰モデルを作成するためにopencvを使用しようとしています。OpenCVスローエラーです。ランダムフォレストモデルを使用しようとしています

私はこれを使用していますが、私は間違っているかを把握することはできません。

OpenCV Error: Unsupported format or combination of formats (type mask must be 8uC1 or 8sC1 array) in cvPreprocessVarType, file ........\opencv\modules\ml\src\inner_functions.cpp, line 519 Traceback (most recent call last):

a.train(save_all[features[i]], cv2.CV_ROW_SAMPLE, Y[:][:, i], params=params, varType=var_types) cv2.error: ........\opencv\modules\ml\src\inner_functions.cpp:519: error: (-210) type mask must be 8uC1 or 8sC1 array in function cvPreprocessVarType

が、私はこのエラーを探してみたが、多くはありません:それは、常にこれを投げhttp://pastebin.com/9vEpn4GC

結果。私はvar_types宣言が関係すると思います。

+2

どう 'var_types = np.array([cv2.CV_VAR_NUMERICAL] * var_n + [cv2.CV_VAR_ORDERED]、np.uint8)について':

次は、トリックを行う必要がありますか?これは列挙値のリストであり、浮動小数点数は意味をなさないものです。 –

+1

エラーメッセージは、「型マスクは8uC1または8sC1配列でなければなりません」と具体的に言います。これは、符号なしまたは符号付きの8ビット値が必要であることを意味します。 –

答えて

1

var_typesアレイは、列挙値のリストです。エラーメッセージのヒントとして、要素のデータ型はfloatではなくバイトでなければなりません。

var_types = np.array([cv2.CV_VAR_NUMERICAL] * var_n + [cv2.CV_VAR_ORDERED], np.uint8) 
+0

はい、opencvを初めて使用しました。 OpenCVエラー:cvPreprocessVarTypeで不正な引数(タイプマスクは + 1サイズである必要があります) –

+0

@AndréCosta列車に連絡する前にsave_all [features [i]]の形は何ですか? 'var_types'の形は何ですか?私はそれを試すためのデータファイルを持っていません... –

+0

私は小さな行列に処理されていない私の最初の入力形状を使用していたので、それは私のvar_nが間違っていた問題でした。私は手動でvar_nを割り当てましたが、今はすべてが動作しています:) あなたの助けてくれてありがとう! –

関連する問題