さまざまなクラスのグレースケール画像を分類するために、ニューラル ネットワークをトレーニングしたいと考えています。
このネットワークの入力として、SURF-128 アルゴリズムによって抽出された特徴を使用したいと考えています。次のコード ( EmguCV ライブラリで提供される例の簡略化) は、API の使用方法を示しています。
SURFDetector surfCPU = new SURFDetector(500, true);
VectorOfKeyPoint observedKeyPoints;
BriefDescriptorExtractor descriptor = new BriefDescriptorExtractor();
observedKeyPoints = surfCPU.DetectKeyPointsRaw(img, null);
Matrix<Byte> observedDescriptors = descriptor.ComputeDescriptorsRaw(img, null, observedKeyPoints);
次のコードを使用します。
observedDescriptors.Save(@"SURF.bmp");
いくつかの結果を保存できます。次の画像は、上記のコードがさまざまなサイズの特徴を抽出することを示しています (右側には、前のコード行で保存された結果があります)。
私が欲しいのは、固定サイズのベクトルを取得することです。
C# 用の EmguCV ライブラリが提供する API を使用して、一般的なグレースケール画像を 128 次元配列に変換するにはどうすればよいですか?