/* to be obsoleted */ private void ProcessWithCircleFinder() { //var rawData = mCamera.Execute(new Command("Read", new Dictionary<string, string> { { "Type", "Raw" } })).Param as Bitmap; string resultBmp = Utils.String.FilePostfix(_filePath, "-result"); string resultTxt = resultBmp.Replace(".bmp", ".txt"); Bitmap bmpFile = ImgProcess.Binarize(_filePath); CirclesFinder f = new CirclesFinder(bmpFile); LatestImage = f.Draw(resultBmp); ImgProcess.Count(f.Rounds); using (System.IO.StreamWriter file = new System.IO.StreamWriter(resultTxt, true)) { file.Write(string.Format("{0} {1} {2} {3} {4} {5} {6} {7} {8}", "ID", "X", "Y", "LengthOnX", "DeviationOnX", "LengthOnY", "DeviationOnY", "Weight", "DeviationOnWeight") + Environment.NewLine); foreach (var round in f.Rounds) { file.Write(string.Format("{0} {1} {2} {3} {4} {5} {6} {7} {8}", round.Id.ToString("D3"), round.CenterX, round.CenterY, round.MaxLenLine.Length, round.LenXDiff.ToString("F4"), round.EndY - round.StartY, round.LenYDiff.ToString("F4"), round.Weight.ToString(), round.WeightDiff.ToString("F4"))); file.Write(Environment.NewLine); } double radiusStdEv = Utils.Math.StdEv(f.Rounds.Select(x => (double)x.MaxLenLine.Length).ToList()); file.Write(string.Format("StdEv of Radius: {0}", radiusStdEv)); file.Write(Environment.NewLine); double weightStdEv = Utils.Math.StdEv(f.Rounds.Select(x => (double)x.Weight).ToList()); file.Write(string.Format("StdEv of Weight: {0}", weightStdEv)); file.Write(Environment.NewLine); } }
public void ProcessorTest_Binarize() { Bitmap i = (Bitmap)ImgProcess.Binarize(path + "Sample2-24b.bmp"); i.Save(path + "Sample2-24b-bin.bmp"); }