コード例 #1
0
ファイル: vidsk.java プロジェクト: Gradonhf/ATP
  public void draw() {
    if (cam.available() == true) {
      cam.read();
      pushMatrix();
      scale(-1, 1);
      translate(-cam.width, 0);
      image(cam, 0, 0);
      popMatrix();

      // image(cam, 0,0);
      try {
        // Now test to see if it has a QR code embedded in it
        LuminanceSource source = new BufferedImageLuminanceSource((BufferedImage) cam.getImage());
        BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
        Result result = reader.decode(bitmap);
        // Once we get the results, we can do some display
        if (result.getText() != null) {
          println(result.getText());
          ResultPoint[] points = result.getResultPoints();
          // Draw some ellipses on at the control points
          for (int i = 0; i < points.length; i++) {
            // fill(#ff8c00);
            ellipse(points[i].getX(), points[i].getY(), 20, 20);
            // fill(#ff0000);
            text(i, points[i].getX(), points[i].getY());
          }
          // Now fetch the book cover, if it is found
          if (!result.getText().equals(lastISBNAcquired)) {
            String url = "http://covers.oreilly.com/images/" + result.getText() + "/cat.gif";
            try {
              cover = loadImage(url, "gif");
              lastISBNAcquired = result.getText();
            } catch (Exception e) {
              cover = null;
            }
          }
          // Superimpose the cover on the image
          if (cover != null) {
            image(cover, points[1].getX(), points[1].getY());
          }
        }
      } catch (Exception e) {
        //         println(e.toString());
      }
    }
  }
コード例 #2
0
ファイル: vidsk.java プロジェクト: Gradonhf/ATP
  public void setup() {
    size(640, 480);
    PFont metaBold;
    // The font "Meta-Bold.vlw" must be located in the
    // current sketch's "data" directory to load successfully
    metaBold = loadFont("SansSerif-48.vlw");
    textFont(metaBold, 36);

    cam = new Capture(this, WIDTH, HEIGHT);
    cam.start();
  }