Esempio n. 1
0
        /* 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");
        }