Beispiel #1
0
        // 画像がスクリーンから消えるまで待機(ポーリング)
        public void waitVanish(IplImage tmpl, int timeout = 100, double threshold = -1)
        {
            timeout *= 1000;
            var sw = new Stopwatch();

            while (sw.ElapsedMilliseconds < timeout)
            {
                sw.Start();
                // 見つからなかったら脱出
                if (TemplateMatching.findTemplate(tmpl, threshold, false) == Rectangle.Empty)
                {
                    return;
                }
                sw.Stop();
            }
        }
Beispiel #2
0
        //-----------------------------------------------------------------------------------------

        // 画像が見つかるまで待機(ポーリング)
        // timeoutが負数だったらタイムアウトしない
        public Rectangle wait(IplImage tmpl, int timeout = 100, double threshold = -1)
        {
            timeout *= 1000;
            var sw   = new Stopwatch();
            var rect = Rectangle.Empty;

            while (timeout < 0 || sw.ElapsedMilliseconds < timeout)
            {
                sw.Start();
                // 見つかったら脱出
                if ((rect = TemplateMatching.findTemplate(tmpl, threshold, false)) != Rectangle.Empty)
                {
                    break;
                }
                sw.Stop();
            }
            return(rect);
        }
Beispiel #3
0
 public Rectangle find(IplImage tmpl, double threshold = -1)
 {
     return(TemplateMatching.findTemplate(tmpl, threshold, false));
 }
Beispiel #4
0
        //-----------------------------------------------------------------------------------------

        // 指定された画像が存在するか
        public bool exist(IplImage tmpl, double threshold = -1)
        {
            return(TemplateMatching.findTemplate(tmpl, threshold, false) != Rectangle.Empty);
        }