/// <summary> /// カメラから画像を取得しそろばんを読み取る /// </summary> private void Update() { while (true) { CaptureImage cap; IplImage img; cap = this.camera.Capture(); img = cap.ToIplImage(); lock (this.capture_img) lock (this.results) { this.capture_img = cap; this.results = reader.AllMatching(img, threshold, out process_img); } process_window.ShowImage(Process_img); Cv.WaitKey(2); Thread.Sleep(10); } }
/// <summary> /// �J��������摜��L���v�`������ /// </summary> /// <returns>�J��������擾�����摜</returns> public CaptureImage Capture() { CaptureImage cap = new CaptureImage(dev.Capture()); return cap; }
/// <summary> /// リーダー初期設定 /// </summary> /// <param name="threshold">閾値</param> /// <param name="template_sign">テンプレート画像のシグネチャ</param> private void initialize(double threshold, string template_sign) { this.threshold = threshold; this.reader = new SorobanReader(template_sign); this.results = new int[SorobanReader.DIVIDE_NUM]; this.isReading = false; this.capture_img = new CaptureImage(new System.Drawing.Bitmap(320, 240)); camera.Activate(320, 240); }