Beispiel #1
0
        private void LoadMatchPages()
        {
            string[] directoryEntries = Directory.GetDirectories(MatchPagesDirectory);

            foreach (var f in directoryEntries)
            {
                string directoryName = Utils.GetFileNameInFullEntry(f, true);
                Console.WriteLine(directoryName + " " + f);

                string pageName = directoryName;

                var matchPage = new MatchPage(f, pageName);
                _matchPages.Add(pageName, matchPage);


                foreach (var p in matchPage.UIRects)
                {
                    _allUIRects[p.Key] = p.Value;
                }
            }


            directoryEntries = Directory.GetDirectories(SlicedPagesDirectory);

            foreach (var f in directoryEntries)
            {
                string directoryName = Utils.GetFileNameInFullEntry(f, true);
                Console.WriteLine(directoryName + " " + f);

                string pageName = directoryName;

                var matchPage = new SlicedPage(f, pageName);
                _slicedPages.Add(pageName, matchPage);
            }
        }
Beispiel #2
0
        private void ScoreAllSlicedPages(Mat mat, int wndX, int wndY, int wndWidth, int wndHeight)
        {
            DateTime start         = DateTime.Now;
            string   mainLog       = "--------------------------ScoreAllSlicedPages-----------------------------\n";
            string   maxPageName   = Globals.UnknownPage;
            double   maxSimilarity = 0.0f;

            double dissimilarity;
            double similarity;
            string log;

            SlicedPage maxPage = null;

            foreach (var p in _slicedPages)
            {
                p.Value.PageScore(wndX, wndY, out dissimilarity, out similarity, out log, true);

                if (_log)
                {
                    mainLog += log;
                }

                if (similarity > maxSimilarity)
                {
                    maxSimilarity = similarity;
                    maxPageName   = p.Value.PageName;
                }

                p.Value.RenderKeyPoints();
            }

            /*if (RenderImageProcess)
             * {
             *      if (maxPage != null)
             *      {
             *              maxPage.RenderKeyPoints();
             *      }
             * }
             * else
             * {
             *      Cv2.DestroyWindow(Globals.ImShowMaxSlicedPageName);
             *      Cv2.DestroyWindow(Globals.ImShowCurrentSlicedPageName);
             * }*/

            DateTime end  = DateTime.Now;
            var      time = (end - start).TotalMilliseconds;

            /*
             * if (maxSimilarity > 250.0f)
             * {
             *      ChangePage(maxPageName);
             * }
             * else
             * {
             *      ChangePage(Globals.UnknownPage);
             * }
             */

            if (_log /*&& _prevPageName != _currentPageName*/)
            {
                mainLog += "\n[" + maxPageName + "]  maxSimilarity : " + maxSimilarity + "  total time : " + time + "\n";
                mainLog += "-------------------------------------------------------------------------\n\n";
                Console.WriteLine(mainLog);
            }
        }