private void StartRecognition(String filename) { rangeData = new RangeImage(); String extension = filename.Substring(filename.LastIndexOf(".")+1).ToLower(); switch (extension) { case "rangeimage": rangeData = RangeImage.Read(filename); width = rangeData.Width; height = rangeData.Height; button2.Enabled = true; break; case "scan": FileStream f = File.Open(filename, FileMode.Open); BinaryReader br = new BinaryReader(f); width = br.ReadInt32(); height = br.ReadInt32(); rangeData.setWidth(width); rangeData.setHeight(height); if (rangeData.initializeRangeValues(width, height)) { for (int i = 0; i < height * width; i++) { try { rangeData.addValue(i, br.ReadSingle()); } catch (Exception E) { } } //System.Windows.Forms.MessageBox.Show("W/H = " + width+"/"+height); filename = filename.Replace(".scan", ".rangeimage"); rangeData.Write(filename); /*if (value > max) max = value; if (value < min || min == 0) min = value; int val = (int)Math.Min(255, Math.Abs((value / 75f) * 255f)); SolidBrush sb = new SolidBrush(Color.FromArgb(255, val, val, val)); g.FillRectangle(sb, i/width, i%width, 1, 1); */ //System.Windows.Forms.MessageBox.Show("avg" + avg/(height*width)); //System.Windows.Forms.MessageBox.Show("min" + min); //System.Windows.Forms.MessageBox.Show("max" + max); f.Close(); } button2.Enabled = true; break; default: System.Windows.Forms.MessageBox.Show("The format of the data is not recognized"); return; break; } StartRecognition(rangeData); /* TextWriter tw = new StreamWriter("c:\\GROUP.txt"); for(int i=0;i<width*height;i++) { tw.WriteLine(i/width); tw.WriteLine(i % width); tw.WriteLine(rangeData.Get(i)); } */ }