0

OpenCV の KNN アルゴリズムを使用して、4 つの機能を 2 つのクラスのいずれかに分類したいと考えています。テキスト ファイルには、次の形式のトレーニング データがあります。

機能 1、機能 2、機能 3、機能 4、クラス

ここで、feature_1、feature_3、feature_4、および class は整数で、feature_2 は float 型です。テキスト ファイルの最初の行には、各機能の見出しが含まれています。

ただし、OpenCV のドキュメント ( http://docs.opencv.org/modules/ml/doc/k_nearest_neighbors.html ) には、train 関数には Mat データ構造のトレーニング データが必要であると記載されています。

トレーニング データのテキスト ファイルを Mat に変換する方法について混乱しています。誰かがこれで私を助けることができれば、私は本当に感謝しています.

4

1 に答える 1

0

基本的に、OpenCVはファイルCvMLDataを読み取ることができる実装を実装しcsvます (ファイルはコンマ区切りファイルです)。

ドキュメントによると: http://docs.opencv.org/modules/ml/doc/mldata.html

CvMLData オブジェクトを作成したら、read_csv メソッドを使用できます。

read_csv(const char* filename)

それをロードしてget_values()から、入力データへMatget_responses()ポインターを取得し、ラベルへのポインターを取得するために使用しますMat

「応答」(ラベル) と見なされる列を設定するには、set_response_idxメソッドを使用します。

于 2013-09-23T14:58:19.280 に答える