public bool LoadTrainData(Stream stream, out ConfigurationFieldClassifier config, out string trainPath)
        {
            try
            {
                var model = ModelFieldCLassify.Load(stream);
                model.Ksvm.Position = 0;

                m_ksvm             = MulticlassSupportVectorMachine.Load(model.Ksvm);
                model.Bow.Position = 0;
                //  m_bow = BagOfVisualWords.Load<CornerFeaturePointEx>(model.Bow);
                BinaryFormatter f = new BinaryFormatter();
                model.TrainImageFeatureVectors.Position = 0;
                m_trainImageFeatureVectors         = f.Deserialize(model.TrainImageFeatureVectors) as double[][];
                model.ClassIdClassNameMap.Position = 0;
                m_classIdClassNameMap = f.Deserialize(model.ClassIdClassNameMap) as Dictionary <int, string>;
                config          = model.Configuration;
                trainPath       = model.TrainPath;
                m_pageThreshold = model.PageThreshold;
            }
            catch
            {
                Reset();
                config    = null;
                trainPath = string.Empty;
                return(false);
            }
            return(true);
        }
Beispiel #2
0
        public static ConfigurationFieldClassifier GetSetupData(Stream stream, out string trainPath)
        {
            var model = ModelFieldCLassify.Load(stream);

            trainPath = model.TrainPath;

            return(model.Configuration);
        }
Beispiel #3
0
        public bool LoadTrainData(Stream stream, out ConfigurationFieldClassifier config, out string trainPath, IEnumerable <IFieldFeature> features)
        {
            try
            {
                var model = ModelFieldCLassify.Load(stream);
                model.Ksvm.Position = 0;

                m_machine = MulticlassSupportVectorMachine.Load(model.Ksvm);
                //  model.Bow.Position = 0;
                //  m_bow = BagOfVisualWords.Load<CornerFeaturePointEx>(model.Bow);
                //BinaryFormatter f = new BinaryFormatter();
                //model.TrainImageFeatureVectors.Position = 0;
                //m_trainImageFeatureVectors = f.Deserialize(model.TrainImageFeatureVectors) as double[][];
                //model.ClassIdClassNameMap.Position = 0;
                //m_classIdClassNameMap = f.Deserialize(model.ClassIdClassNameMap) as Dictionary<int, string>;
                config          = model.Configuration;
                trainPath       = model.TrainPath;
                m_pageThreshold = model.PageThreshold;
                if (model.FeaturesScale != null && model.FeaturesScale.Count > 0)
                {
                    foreach (var featue in features)
                    {
                        double scale;
                        if (model.FeaturesScale.TryGetValue(featue.Name, out scale) == true)
                        {
                            featue.FieldScale = scale;
                        }
                    }
                }
            }
            catch
            {
                Reset();
                config    = null;
                trainPath = string.Empty;
                return(false);
            }
            return(true);
        }