Ejemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            Bitmap bitmap = ImgConverter.GetBitmap("1.jpg");

            bitmap            = ImgConverter.BmpResizeM(bitmap, 400);
            pictureBox1.Image = bitmap;
            tensor            = ImgConverter.BmpToTensor(bitmap); // Конвертирование изображение -> тензор
            pictureBox2.Image = ImgConverter.ToBitmap(tensor);    // Конвертирование тензор -> изображение
            Decomposition();
        }
        /// <summary>
        /// Add music file to dataset
        /// </summary>
        /// <param name="pathToFile">path to music file (only mp3 or wav)</param>
        public void Add(string pathToFile, SaveInfo saveInfo = SaveInfo.SaveAsMatrix)
        {
            FileInfo fileInfo = new FileInfo(pathToFile);
            Vector   sound;
            WavMp3   loader = new WavMp3();
            int      len;


            if (!fileInfo.Exists)
            {
                throw new Exception("The specified file does not exist!");
            }

            if (fileInfo.Extension == ".mp3")
            {
                sound = loader.LoadFromMp3(pathToFile);
            }
            else if (fileInfo.Extension == ".wav")
            {
                sound = loader.Load(pathToFile);
            }
            else
            {
                throw new Exception("unknow format");
            }

            time = DateTime.Now.Millisecond;
            len  = TSemple * loader.Fd;
            Vector[] semples = Vector.GetWindows(sound, len, len); // Получение непересекающихся отрезков


            for (int i = 0; i < semples.Length; i++)
            {
                Matrix spectrogram = FFT.TimeFrTransformHalf(sound, fr);
                spectrogram = spectrogram.TransformMatrix(x => Math.Log(x + Setting.Eps));// Логарифм

                if (saveInfo == SaveInfo.SaveAsMatrix)
                {
                    MatrixSaver.Save($"{outDir}\\{NameGen(i)}.matr", spectrogram);
                }
                else
                {
                    double min    = spectrogram.Min();
                    double max    = spectrogram.Max();
                    Bitmap bitmap = ImgConverter.ToBitmap((spectrogram - min) / (max - min));
                    bitmap.Save($"{outDir}\\{NameGen(i)}.jpg");
                }
            }
        }
Ejemplo n.º 3
0
 //Сигмоида
 private void button3_Click(object sender, EventArgs e)
 {
     tensor            = ActivationFunctions.Sigmoid(tensor - tensor.Mean(), 9);// Гамма-фильтрация
     pictureBox2.Image = ImgConverter.ToBitmap(tensor);
     Decomposition();
 }
Ejemplo n.º 4
0
 // Увеличить контраст x2
 private void button4_Click(object sender, EventArgs e)
 {
     tensor           *= 2;
     pictureBox2.Image = ImgConverter.ToBitmap(tensor); // Конвертирование тензор -> изображение
     Decomposition();
 }
Ejemplo n.º 5
0
        private void button1_Click(object sender, EventArgs e)
        {
            Matrix m = gan.MatrixGenerate();

            img.Image = ImgConverter.ToBitmap(m);
        }