Rabu, 24 Februari 2016

Pemrograman Processing 2.2.1 untuk Pendeteksian Objek Berwarna (Real Time Colour Tracking Object)



Dalam pembahasan postingan sebelumnya, telah dibahas pemrograman untuk mengakses webcam secara real time. Dalam postingan ini, dilakukan pendeteksian warna secara real time dengan memanfaatkan webcam PC/laptop baik internal maupun eksternal.


Program Processing Deteksi Objek Berwarna Secara Real Time

import processing.video.*;

Capture video;
color trackColor;

void setup() {
  size(640, 480);
  video = new Capture(this, width, height);
  video.start(); 
  noStroke();
  smooth();
}

void draw() {
  if (video.available()) {
    video.read();
  }
  video.loadPixels();
  image(video,0,0);

  float worldRecord = 500;

  // koordinat X dan Y objek berwarna
  int closestX = 0;
  int closestY = 0;

  // loop tiap piksel
  for (int x = 0; x < video.width; x ++ ) {
    for (int y = 0; y < video.height; y ++ ) {
      int loc = x + y*video.width;
      color currentColor = video.pixels[loc];
      float r1 = red(currentColor);
      float g1 = green(currentColor);
      float b1 = blue(currentColor);
      float r2 = red(trackColor);
      float g2 = green(trackColor);
      float b2 = blue(trackColor);

      // menggunakan euclidean distance untuk membandingkan warna
      float d = dist(r1,g1,b1,r2,g2,b2);

       if (d < worldRecord) {
        worldRecord = d;
        closestX = x;
        closestY = y;
      }
    }
  }

 
  if (worldRecord < 10) {
    fill(trackColor);
    strokeWeight(4.0);
    stroke(0);
    ellipse(closestX,closestY,16,16);
  }
}

void mousePressed() {
  int loc = mouseX + mouseY*video.width;
  trackColor = video.pixels[loc];
}
(a)    Merah
(b)   Hijau
(c)    Biru
Gambar 1 Output tracking warna secara real time saat warna tertentu di klik

Gambar diatas  memperlihatkan bahwa saat warna tertentu diklik, maka saat objek warna tersebut bergerak maka sistem akan terus mengikutinya. Hal ini akan berguna saat kita akan membuat robot yang dapat mendeteksi dan mengikuti objek berwarna tertentu.

Share:

0 komentar:

Posting Komentar