tomekk17 0 Napisano 7 Kwietnia 2014 Udostępnij Napisano 7 Kwietnia 2014 Witam potrzebuje pomocy w zmianie w aplikacji napisanej w C# sieci autoasocjacyjnej (czarno biały) na skale szarości trzeba zmienić tylko to. Bardzo ważne!! Help... using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace Sieci_neuronowe{ public partial class Form3 : Form { Graphics rysuj; Bitmap bmp = new Bitmap(500, 500); Pen pedzel_siatka = new Pen(Color.White); Pen pedzel = new Pen(Color.Black); Pen pedzel_bialy = new Pen(Color.White); Point point = Point.Empty; public int[,] tab_We ; // wej public int[] tab_Wy = new int[8]; //wyj public int roz, komorki , nr ; // rozmiar public Form3() { InitializeComponent(); rysuj = Graphics.FromImage(bmp); radioButton2.Checked = true; czysc(); siatka(); figory.SelectedIndex = 0; } public void siatka() { czysc(); for (int i = roz; i < 500; i += roz) { rysuj.DrawLine(pedzel_siatka, 0, i, 500, i); rysuj.DrawLine(pedzel_siatka, i, 0, i, 500); } plotno.Image = bmp; } public void czysc() { for (int i = 0; i < 500; i++) { for (int j = 0; j < 500; j++) { bmp.SetPixel(i, j, Color.White); } } } public void sprawdzaj() { Color kolor; tab_We = new int[komorki, komorki]; for (int i = 0; i < komorki; i++) { for (int j = 0; j < komorki; j++) { for (int x = roz * i; x < roz * (i + 1); x++) { for (int y = roz * j; y < roz * (j + 1); y++) { kolor = bmp.GetPixel(x, y); if (kolor.R == 0 && kolor.G == 0 && kolor.B == 0 ) //RGB { tab_We[j, i]++; } } } } } for (int i = 0; i < komorki; i++) { for (int j = 0; j < komorki; j++) { if (tab_We[i, j] > 0) { tab_We[i, j] = 1; } } } } private void szerokosc_pedzla() { pedzel.Width = (int)rozmiar_pedzla.Value; } private void plotno_MouseDown(object sender, MouseEventArgs e) { point = e.Location; } private void plotno_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { szerokosc_pedzla(); pedzel.Width = (int)rozmiar_pedzla.Value; rysuj.DrawLine(pedzel, e.Location, point); point = e.Location; } if (e.Button == MouseButtons.Right) { szerokosc_pedzla(); pedzel_bialy.Width = (int)rozmiar_pedzla.Value; rysuj.DrawLine(pedzel_bialy, e.Location, point); point = e.Location; } plotno.Image = bmp; } //++wybierz rozmiar siatki++// public void radioButton2_CheckedChanged(object sender, EventArgs e) { komorki = 10; roz = 50; siatka(); } public void radioButton4_CheckedChanged(object sender, EventArgs e) { komorki = 20; roz = 25; siatka(); } //++zapisywanie pliku .pat++// public void zapisz_Click(object sender, EventArgs e) { string z = nr.ToString() + (komorki * komorki).ToString() ; SaveFileDialog zapisz = new SaveFileDialog(); zapisz.Filter = "pat files (*.pat)|*.pat"; if (zapisz.ShowDialog() == DialogResult.OK) { StreamWriter writer = new StreamWriter(zapisz.FileName); writer.WriteLine(z); writer.WriteLine(richTextBox1.Text); writer.Close(); } } private void wyczysc_Click(object sender, EventArgs e) { czysc(); siatka(); } //++podglad .pat++// public void podglad_Click(object sender, EventArgs e) { sprawdzaj(); tab_Wy[figory.SelectedIndex] = 1; nr++; richTextBox1.Text += "## Input pattern " + nr.ToString() + "##" + "\n"; for (int i = 0; i < komorki; i++) { for (int j = 0; j < komorki; j++) { richTextBox1.Text += tab_We[i, j].ToString() + " "; } richTextBox1.Text += "\n"; } richTextBox1.Text += "## Output patern " + nr.ToString() + "##" + "\n"; for (int i = 0; i < 8; i++) { richTextBox1.Text += tab_Wy.ToString() + " "; } richTextBox1.Text += "\n"; } //++czyszczenie podgladu pat++// private void czysc_podglad_Click(object sender, EventArgs e) { richTextBox1.Text = null; nr = 0; } //++digitalizacja rysunku++// private void digitalizuj_Click(object sender, EventArgs e) { sprawdzaj(); for (int i = 0; i < komorki; i++) { for (int j = 0; j < komorki; j++) { if (tab_We[i, j] == 1) { SolidBrush kolor_komorki = new SolidBrush(Color.Black); rysuj.FillRectangle(kolor_komorki, (j * roz), (i * roz), roz, roz); kolor_komorki.Dispose(); } } } plotno.Refresh(); } private void plotno_Click(object sender, EventArgs e) { } private void label4_Click(object sender, EventArgs e) { } private void rozmiar_pedzla_ValueChanged(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { Close(); } }} Cytuj Link to post Share on other sites
szatkus 282 Napisano 7 Kwietnia 2014 Udostępnij Napisano 7 Kwietnia 2014 Przeczytałem ten post kilka razy i dalej nie rozumiem, co chcesz zmieniać. Co nie działa i z czym masz problem? Cytuj Link to post Share on other sites
Hans Olo 92 Napisano 7 Kwietnia 2014 Udostępnij Napisano 7 Kwietnia 2014 (edytowane) Zamieść cały projekt na jakimś serwerze, bo tak to sobie możemy zgadywać. Edytowane 7 Kwietnia 2014 przez Hans Olo Cytuj Link to post Share on other sites
tomekk17 0 Napisano 7 Kwietnia 2014 Autor Udostępnij Napisano 7 Kwietnia 2014 Chodzi mi o to że ten program co wkleiłem jest do skali czarno białej a mi potrzebne jest w skali szarości. Program jest do rozpoznawania wzorców geometrycznych w skali szarości - sieć heteroasocjacyjna. Cytuj Link to post Share on other sites
Recommended Posts
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.