Exemplo n.º 1
0
        private ArrayList Recognize()
        {
            ArrayList Info = new ArrayList();

            double[] Data = Image_Processing.ToMatrix(PBMain.ImageOnPanel, (int)NUDHeight.Value, (int)NUDWidth.Value);
            foreach (double Pixel in Data)
            {
                Info.Add(Pixel);
            }
            return(Info);
        }
Exemplo n.º 2
0
        private void LoadTrainingSet()
        {
            if (CBFD.Checked)
            {
                imageList1.Images.Clear();
                termCrit      = new MCvTermCriteria(0.001);
                imgRecognizer = new EigenObjectRecognizer(emguImages, emguImagesLabels, 25, ref termCrit);
                Dictionary <Matrix <float>, Image <Gray, float> > Entries = new Dictionary <Matrix <float>, Image <Gray, float> >();
                for (int i = 0; i < imgRecognizer.EigenImages.Length; i++)
                {
                    Entries.Add(imgRecognizer.EigenValues[i], imgRecognizer.EigenImages[i]);
                    imageList1.Images.Add(Image.FromHbitmap(imgRecognizer.EigenImages[i].Bitmap.GetHbitmap()));
                }
                SetImages();

                KeyValuePair <int, double>[] sortedDic;
                ArrayList Data = new ArrayList();
                foreach (Matrix <float> T in imgRecognizer.EigenValues)
                {
                    Dictionary <int, double> Temp = new Dictionary <int, double>();
                    for (int i = 0; i < T.Data.Length; i++)
                    {
                        Temp.Add(i, T.Data[i, 0]);
                    }
                    var V = (from entry in Temp orderby entry.Value descending select entry);
                    sortedDic = V.ToArray();
                    Data.Add(sortedDic);
                }
                ArrayList EigenVectors = new ArrayList();
                for (int i = 0; i < Data.Count; i++)
                {
                    KeyValuePair <int, double>[] Test = (KeyValuePair <int, double>[])Data[i];
                    double[] Vector = new double[25];
                    for (int j = 0; j < 25; j++)
                    {
                        //Vector[j]=imgRecognizer.EigenImages[i].Data
                    }
                }
            }

            ArrayList Response = new ArrayList();

            for (int i = 0; i < imageList1.Images.Count; i++)
            {
                Response.Add(0);
            }
            int RIndex = 0;

            foreach (Image IM in imageList1.Images)
            {
                Response[RIndex] = 1;
                ArrayList Info    = new ArrayList();
                Bitmap    B       = new Bitmap(IM);
                double[]  Data    = Image_Processing.ToMatrix(B, IM.Size.Height, IM.Size.Width);
                int       Counter = 0;
                foreach (double Pixel in Data)
                {
                    Info.Add(Pixel);
                    Counter++;
                }
                Manager.ExternalDataSource.Add(Response, Info);
                Response = new ArrayList();
                for (int i = 0; i < imageList1.Images.Count; i++)
                {
                    Response.Add(0);
                }
                RIndex++;
            }
            MainInterface_Ref.TSSStatusLbl.Text = "Done Loading.";
        }