private double[] process(Bitmap bmp, int n, string method) { double[,] features2D = BitmapFeatures.Intensity(bmp); switch (method) { case "merge": double[] features = FeatureReduction.Flatten(features2D); return(FeatureReduction.Merge(features, n)); case "grid": return(FeatureReduction.GridwiseMerge(features2D, n)); } return(FeatureReduction.Flatten(features2D)); //double[] features = FeatureReduction.Flatten(features2D); //features = FeatureReduction.RowColSums(features2D); //features = FeatureReduction.LDA(features2D, 4); //features = FeatureReduction.PCA(features2D, 4); //features = FeatureReduction.SVD(features2D); //features = FeatureReduction.FHT(features2D); //features = FeatureReduction.Sort(features); //features = FeatureReduction.Covariance(features2D); //features = FeatureReduction.Merge(features, n); //features = FeatureReduction.Binarize(features); //double[] features = FeatureReduction.GridwiseMerge(features2D, n); //features = FeatureReduction.Discretize(features, 100); //features = FeatureReduction.Binarize(features); //return features; }
/// <summary> /// Extracts intensity features from the bitmap, and uses grid merge feature reduction. /// </summary> /// <param name="bmp">The BMP.</param> /// <returns></returns> /// <remarks></remarks> private double[] BitmapFeatureExtract(Bitmap bmp) { double[,] features2D = BitmapFeatures.Intensity(bmp); double[] features = FeatureReduction.GridwiseMerge(features2D, 64); return(features); }