Esempio n. 1
0
 /// <summary>
 /// Метод закрытия нейронной сети и обновления интерфейса соответствующим образом.
 /// </summary>
 void ResetNN()
 {
     // Изменение интерфейса:
     LabelImage.Visible      = false;
     PictureImage.Visible    = false;
     LabelNeuronet.Visible   = false;
     PictureNeuronet.Visible = false;
     ToolSave.Enabled        = false;
     ToolClose.Enabled       = false;
     ToolRefresh.Enabled     = false;
     ToolName.Enabled        = false;
     ToolImage.Enabled       = false;
     ToolImage.Text          = "";
     ToolAddImage.Enabled    = false;
     ToolDeleteImage.Enabled = false;
     ToolImgRcg.Enabled      = false;
     LabelStatus.Text        = "Нейронная сеть отсутствует.";
     LabelStatus.Visible     = true;
     FormImgRcg_Resize(null, null);
     // Освобождение ресурсов системы:
     IRNN1 = null; // Обнуляем указатель, а ресурсы удалит сборщик мусора.
     if (BgrpImage != null)
     {
         BgrpImage.Dispose(); BgrpImage = null;
     }
     if (BgrpNeuronet != null)
     {
         BgrpNeuronet.Dispose(); BgrpNeuronet = null;
     }
     //GC.Collect(); // Это принудительная сборка мусора. Является плохим тоном программирования (так в книге писали). Незнаю.
 }
Esempio n. 2
0
 /// <summary>
 /// Метод обновления основного экрана.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ToolRefresh_Click(object sender, EventArgs e)
 {
     if (IRNN1 != null)                                                                                   // Проверяем наличие того, что будем обновлять, а именно - нейросеть с библиотекой образов.
     {
         Cursor = Cursors.WaitCursor;                                                                     // Изменение курсора в занятое состояние.
         ClassIRNN1.ComputeNeuronet(ref IRNN1.m_CurrentNeuronet);                                         // Вычисляем возбужденность нейронов основной нейросети.
         ClassIRNN1.DrawNeuronet(ref IRNN1.m_CurrentNeuronet, BgrpNeuronet.Graphics, 20.0f, 20.0f, 0.0f); // Отрисовываем состояние нейросети.
         BgrpImage.Render();
         BgrpNeuronet.Render();
         Cursor = Cursors.Default;
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Метод отрисовки компонента с состоянием нейронной сети.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void NNStatus_Paint(object sender, PaintEventArgs e)
 {
     BgrpNeuronet.Render(); // Выводим на экран содержимое графического буфера.
 }