void pictureBox1_MouseUp(object sender, MouseEventArgs e) { // pictureBox1.Refresh(); if (checkBox1.Checked && e.Button == System.Windows.Forms.MouseButtons.Left) { dataset.Add(new NeuralNetworks.DataSet() { Outputs = CharacterToNetOutput(textBoxRecognized.Text), Inputs = GetInputFromBitmap(new Bitmap(pictureBox1.Image)) }); labelDataSetSaveNum.Text = dataset.Count + " Objects"; //charecterNet.ApplyInput(GetInputFromBitmap(new Bitmap(pictureBox1.Image))); //charecterNet.CalculateOutput(); //DetectionReturn detect = OutputToCharacter(charecterNet.ReadOutput()); //textBoxRecognized.Text = detect.ch; //textBoxConfidence.Text = detect.confidence.ToString(); //textBox3.Text = "Added" + dataset.Count; } else if(e.Button == System.Windows.Forms.MouseButtons.Left) { charecterNet.ApplyInput(GetInputFromBitmap(new Bitmap(pictureBox1.Image))); charecterNet.CalculateOutput(); DetectionReturn detect = OutputToCharacter(charecterNet.ReadOutput()); //textBox3.Text = ArrayToStr(charecterNet.Layers[charecterNet.InputIndex].GetValues()); textBoxRecognized.Text = detect.ch; textBoxConfidence.Text = detect.confidence.ToString(); } //Graphics.FromImage(pictureBox1.Image).Clear(Color.White); pictureBox1.Refresh(); }
public void think() { ClosestFriend = get_friends_informaion(); ClosestFoe = get_foe_informaion(); Enviroment = get_evironment_information(); ClosestFriend2 = sort_distance(ClosestFriend); #if DebugA GD.Print("Network input Objects"); GD.Print(ClosestFriend); GD.Print(ClosestFoe); GD.Print(Enviroment); GD.Print(ClosestFriend2); GD.Print(ClosestFoe[0].Position); GD.Print(ClosestFoe[0].Position.x); GD.Print(ClosestFoe[0].Position.y); #endif #if DebugB GD.Print("+++ClosestFrient+++"); GD.Print(ClosestFriend); GD.Print("---ClosestFrient2---"); GD.Print(ClosestFriend2); #endif data_in[0] = ClosestFoe[0].Position.x; data_in[1] = ClosestFoe[0].Position.y; data_in[2] = ClosestFoe[1].Position.x; data_in[3] = ClosestFoe[1].Position.y; data_in[4] = ClosestFoe[2].Position.x; data_in[5] = ClosestFoe[2].Position.y; data_in[6] = ClosestFriend[0].Position.x; data_in[7] = ClosestFriend[0].Position.y; data_in[8] = ClosestFriend[1].Position.x; data_in[9] = ClosestFriend[1].Position.y; //data_in[10] = ClosestFriend[2].Position.x; //data_in[11] = ClosestFriend[2].Position.y; data_in[12] = Enviroment[0].Position.x; data_in[13] = Enviroment[0].Position.y; data_in[14] = Enviroment[1].Position.x; data_in[15] = Enviroment[1].Position.y; data_in[16] = Enviroment[2].Position.x; data_in[17] = Enviroment[2].Position.y; FirstData.Inputs[0] = ClosestFoe[0].Position.x; #if (DebugA) MyString = ""; foreach (double Anumber in data_in) { MyString += Anumber.ToString() + ","; } GD.Print("Objects Position Data"); GD.Print(MyString); #endif normalize(data_in); MoveShootNet.ApplyInput(data_in); MoveShootNet.CalculateOutput(); data_out2 = MoveShootNet.ReadOutput(); data_out2 = denormalize(data_out2); data_out = new double[] { data_in[0], data_in[1], data_in[0], data_in[1] }; //normalize(data_out); Training = new NeuralNetworks.DataSet { Outputs = data_out, Inputs = data_in }; //Training = new NeuralNetworks.DataSet() {(double[]) data_out2, Inputs = data_in }; TrainingData.Add(Training); #if DebugA MyString = ""; foreach (double Anumber in data_out2) { MyString += Anumber.ToString() + ","; } GD.Print("Output of Network"); GD.Print(MyString); //data_out = (double[]) data_out2; GD.Print("Has Current Move ", Parent.Get("CurrentMove")); GD.Print("Has Side ", Parent.Get("Side")); #endif Acount = 0; foreach (double Anumber in data_out2) { data_out3[Acount] = (float)Anumber; Acount++; } Parent.Set("CurrentMove", Parent.ToLocal(new Godot.Vector2(data_out3[2], data_out3[3]))); Parent.Set("CurrentTarget", new Godot.Vector2(data_out3[0], data_out3[1])); }