Пример #1
0
 public bool Kolizja(WystepująceWTymSamymMiejscu a)
 {
     foreach (var item in a)
     {
         if (Contains(item))
         {
             return(true);
         }
     }
     return(false);
 }
Пример #2
0
 public ZlepianieLiterPoziome(int Szerokość, bool *obraz, ISiećNeuronowa <string> Sieć, Linika lk)
 {
     this.Szerokość  = Szerokość;
     this.Obraz      = obraz;
     this.sieć       = Sieć;
     LinikaZmieniana = lk;
     foreach (var item in lk.ListaZZdjeciami)
     {
         var az = new WystepująceWTymSamymMiejscu();
         az.SpróbujDodać(item);
         w.Add(az);
     }
     foreach (var item in lk.ListaZZdjeciami)
     {
         foreach (var ite in w)
         {
             ite.SpróbujDodać(item);
         }
     }
     w.Sort();
 }
Пример #3
0
        public void Scal()
        {
            List <ZdjecieZPozycją>    DoDodania   = new List <ZdjecieZPozycją>();
            HashSet <ZdjecieZPozycją> DoUsuniecia = new HashSet <ZdjecieZPozycją>();

            while (w.Count != 0)
            {
                WystepująceWTymSamymMiejscu ostatni = w.Last();
                if (ostatni.Count == 1)
                {
                    w.RemoveAt(w.Count - 1);
                    continue;
                }

                ZdjecieZPozycją z = new ZdjecieZPozycją();
                z.Obszar = DoKwadratów.StwórzKwadratZawierającyWiele(ostatni.ToArray());
                z.ObszarInterpolowany = DoKwadratów.StwórzKwadratZawierającyWieleRec(WeźInterpolowany(ostatni));
                z.Skeljona            = true;
                z.ObliczPodobieństwo(Obraz, Szerokość, sieć);
                if (PrógDoUsuniecia + z.NajbliszePodobieństwo < ostatni.Podobność)
                {
                    foreach (var item in ostatni)
                    {
                        DoUsuniecia.Add(item);
                    }
                    w.RemoveAll(X => X.Kolizja(ostatni));
                    DoDodania.Add(z);
                }
                else
                {
                    w.RemoveAt(w.Count - 1);
                }
            }

            LinikaZmieniana.ListaZZdjeciami.RemoveAll(X => DoUsuniecia.Contains(X));
            LinikaZmieniana.ListaZZdjeciami.AddRange(DoDodania);
            LinikaZmieniana.ListaZZdjeciami.Sort(new DoKwadratów.SortowanieWzgledemX());
        }
Пример #4
0
 public int CompareTo(WystepująceWTymSamymMiejscu other)
 {
     return(Count - other.Count);
 }