Esempio n. 1
0
        private void odleglosciButton_Click(object sender, EventArgs e)
        {
            var          img   = new Image <Bgr, byte>(@"C:\Users\Mariusz\Desktop\prAG\ucid00443.tif");
            var          img2  = new Image <Bgr, byte>(@"C:\Users\Mariusz\Desktop\prAG\ucid00668.tif");
            var          met   = new Metody();
            List <float> wynik = met.odlegloscMiedzyHistogramami(img, img2);

            labelTest.Text  = "Manhattan: R: " + wynik[2] + ", G: " + wynik[1] + ", B: " + wynik[0];
            labelTest2.Text = "Euklides R: " + wynik[5] + ", G: " + wynik[4] + ", B: " + wynik[3];
        }
Esempio n. 2
0
        private void porownanieButton_Click(object sender, EventArgs e)
        {
            string zaznaczenie  = pictureList.SelectedItem.ToString();
            string pelnaSciezka = SciezkaFolderZeZdjeciami + zaznaczenie;
            var    img          = new Image <Bgr, byte>(pelnaSciezka);
            var    histogram1   = new mHistogram(img);
            var    met          = new Metody();

            var dInfo = new DirectoryInfo(SciezkaFolderZeZdjeciami);

            FileInfo[] pliki = dInfo.GetFiles();
            //float najmniejszaRoznicaR = 1000000000;
            //float najmniejszaRoznicaG = 1000000000;
            float najmniejszaRoznicaB = 1000000000;
            //mHistogram najR = new mHistogram(img);
            //mHistogram najG = new mHistogram(img);
            var najB = new mHistogram(img);

            foreach (FileInfo plik in pliki)
            {
                //using (
                var img2 = new Image <Bgr, Byte>(plik.FullName);
                //{
                var          histogram2 = new mHistogram(img2);
                List <float> wynik      = met.porownajHistogramyEuklides(histogram1, histogram2);

                float srednia = (wynik[0] + wynik[1] + wynik[2]) / 3;

                if (srednia < najmniejszaRoznicaB)
                {
                    if (plik.FullName != pelnaSciezka)
                    {
                        najmniejszaRoznicaB = srednia;
                        najB = histogram2;
                        labelTestNazwa.Text = plik.FullName;
                    }
                }
                //if (wynik[1] < najmniejszaRoznicaG)
                //{
                //    if (plik.FullName != sciezka)
                //    {
                //        najmniejszaRoznicaG = wynik[1];
                //        najG = histogram2;
                //    }
                //}
                //if (wynik[2] < najmniejszaRoznicaR)
                //{
                //    if (plik.FullName != sciezka)
                //    {
                //        najmniejszaRoznicaR = wynik[2];
                //        najR = histogram2;
                //    }
                //}
                //}
            }

            List <float> odleglosci = met.odlegloscMiedzyHistogramami(img, najB.Obraz);

            labelTest.Text  = "Manhattan R: " + odleglosci[2] + ", G: " + odleglosci[1] + ", B: " + odleglosci[0];
            labelTest2.Text = "Euklides R: " + odleglosci[5] + ", G: " + odleglosci[4] + ", B: " + odleglosci[3];

            pictureBox.Image = img.Bitmap;
            //pictureBoxNajR.Image = najR.Obraz.Bitmap;
            //pictureBoxNajG.Image = najG.Obraz.Bitmap;
            pictureBoxNajB.Image = najB.Obraz.Bitmap;
        }