private void button1_Click(object sender, EventArgs e) { if (listBox1.SelectedIndex == -1) { return; } Linika Zaznaczony = LinikiWObrazie[listBox1.SelectedIndex]; Bitmap kopia = (Bitmap)KopiaGłówna.Clone(); Graphics g = Graphics.FromImage(kopia); for (int i = 0; i < Zaznaczony.ListaZZdjeciami.Count; i++) { g.DrawRectangle(new Pen(Color.Red), Zaznaczony.ListaZZdjeciami[i].Obszar); g.DrawRectangle(new Pen(Color.Orange), Zaznaczony.ListaZZdjeciami[i].ObszarInterpolowany); } if (DomyślnaLinika != null) { foreach (var item in DomyślnaLinika.CześciLinijek) { g.DrawRectangle(new Pen(Color.Blue), new Rectangle(item.ZajmowanyObszar.Location.Dodaj(new Point(0, Zaznaczony.Min)), item.ZajmowanyObszar.Size)); } } PrzeglądOdcinków p = new PrzeglądOdcinków(Zaznaczony.ListaZZdjeciami, KopiaGłówna); g.Dispose(); WyślijObraz(kopia); p.ShowDialog(); }
private void button2_Click(object sender, EventArgs e) { Podobieństwa.Clear(); Linika[] LinikiWObrazieTMP; int MinimalnyPróg = 0; if (!int.TryParse(textBox1.Text, out MinimalnyPróg)) { return; } int IlośćWiekszych = 0; foreach (var item in LinikiWObrazie) { if (item.ListaZZdjeciami.Count >= MinimalnyPróg) { IlośćWiekszych++; } } LinikiWObrazieTMP = new Linika[IlośćWiekszych]; int Pom = LinikiWObrazie.Length; while (IlośćWiekszych > 0) { Pom--; if (LinikiWObrazie[Pom].ListaZZdjeciami.Count >= MinimalnyPróg) { LinikiWObrazieTMP[--IlośćWiekszych] = LinikiWObrazie[Pom]; } } LinikiWObrazie = LinikiWObrazieTMP; TwórzNapisyLinijek(); }
private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { if (listBox1.SelectedIndex < 0) { return; } Linika Zaznaczony = LinikiWObrazie[listBox1.SelectedIndex]; label1.Text = $"średnia to {Zaznaczony.ŚredniaY}"; label2.Text = $"średnia min to {Zaznaczony.SredniPoczątekY}"; label3.Text = $"średnia max to {Zaznaczony.SredniKoniecY}"; if (Podobieństwa.Count != 0) { label4.Text = $"Podobieństwo to {Podobieństwa[listBox1.SelectedIndex]}"; LinikaWzgledna LinikaZnaleziona = Zaznaczony.PobierzLinikeWzgledną(); ObszarWzgledny[] a = DomyślnaLinika.ZNajdźDopoasowanie(LinikaZnaleziona, StałeGlobalne.DopuszalneOdalenieOdWzorca); label5.Text = "Wynik dla wiersza " + MałeUproszczenia.ZłoczStringi(DomyślnaLinika.UstalOdpowiednie(a, RozpoznawanieKuponu.DzienikZamian), ","); Size R = DoKwadratów.SortowanieWielkości <ZdjecieZPozycją> .ŚredniaWielkośćSrednichWartości(Zaznaczony.ListaZZdjeciami); float F = R.Width; F /= R.Height; label6.Text = "proporcje X/Y" + F.ToString(); } }
public object Clone() { Linika l = (Linika)MemberwiseClone(); List <ZdjecieZPozycją> lzp = new List <ZdjecieZPozycją>(l.ListaZZdjeciami.Count); lzp.AddRange(l.ListaZZdjeciami); l.ListaZZdjeciami = lzp; return(l); }
public bool SprawdźPodobieństwo(Linika a) { int WielkośćTego = RóżnicaŚrednich(); int WielkośćTamtego = a.RóżnicaŚrednich(); int MniejszaRóźnica = WielkośćTamtego < WielkośćTego ? WielkośćTamtego : WielkośćTego; float fx = Matematyka.Styczność2Obiektów(SredniPoczątekY, SredniKoniecY, a.SredniPoczątekY, a.SredniKoniecY); fx /= MniejszaRóźnica; return(MinPodobieństwoLinijek < fx); }
private static string WeźLinie(Linika item) { string s = ""; foreach (var item2 in item.ListaZZdjeciami) { s += item2.Tag as string; } return(s); }
private void SprawdźLinike(Linika Linika, int szerkość) { List <ZdjecieZPozycją> MniejszaLista = Linika.ListaZZdjeciami; for (int i = 0; i < MniejszaLista.Count; i++) { for (int j = i + 1; j < MniejszaLista.Count; j++) { ZdjecieZPozycją ZMniejsze = MniejszaLista[i], ZWiekszej = MniejszaLista[j]; if (ZMniejsze.Sąsiedztwo(ZWiekszej)) { Graf.PołączenieDwustrone(Obiekty[ZMniejsze].Pomocniczy, Obiekty[ZWiekszej].Pomocniczy); } } } }
private void button3_Click(object sender, EventArgs e) { if (listBox1.SelectedIndex == -1) { return; } Linika lk = LinikiWObrazie[listBox1.SelectedIndex]; LinikaWzgledna LinikaWzgledna = lk.PobierzLinikeWzgledną(); XmlSerializer xs = new XmlSerializer(typeof(LinikaWzgledna)); if (saveFileDialog1.ShowDialog() == DialogResult.OK) { using (FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create)) { xs.Serialize(fs, LinikaWzgledna); } } }
private float ObliczŚredniąWIelkość(Graf <int> item) { HashSet <Linika> l = new HashSet <Linika>(); foreach (var a in item.Listuj()) { Linika linika = PaczkiDoGrafu[a].LinikaDoKrótrejNajlerzy; if (linika.ListaZZdjeciami.Count > MinimalnaWIelkoścLiniki) { l.Add(linika); } } if (l.Count == 0) { return(0); } return(l.Average(D => D.ŚredniaWIelkość())); }
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(); }
public float Styczność(Linika l) { int Wielkość = Max - Min; return(((float)Matematyka.Styczność2Obiektów(Min, Max, l.Min, l.Max)) / Wielkość); }
public void ScalLinike(Linika a) { ListaZZdjeciami.AddRange(a.ListaZZdjeciami); ListaZZdjeciami.Sort(new DoKwadratów.SortowanieWzgledemX()); }