Hello Selamat datang di A.R.T - pada tutorial kali ini saya akan membahas khusus manipulasi image processing dengan JMRyon Library. *sedikit curhat* saya pernah stress menghadapi library ini, karena instalasinya yang susah, tapi akhirnya berhasil setelah dibantu oleh teman-teman di forum processing.
jadi saya bakal sedikit berbagi ilmu, tentang pengalaman saya belajar library ini, luar biasa mudahnya dan bahasa pemogramannya mudah dimengerti. yang penting anda tau konsep bahasa pemograman terstruktur atau OOP dengan Java.
okeh, kita mulai saja belajarnya, apa itu JMRyon? JMyron (alias WebcamXtra) adalah library External untuk memanipulasi gambar tanpa harus menggunakan source code yang rumit, jadi degan JMRyon kita bisa membuat Image manipulasi seperti photoshop secara real time dengan WebCam. dengan JMRyon kita bisa menambahkan efek motion tracking, color tracking, pixel manipulation dll.
untuk mendevelop JMRyon anda harus menginstall librarynya terlebih dahulu. dan saat instalasi library ini yang pernah membuat saya stress seharian.. haha. tapi tenang saja, nanti saya pandu untuk menginstall librarynya.
Note: Saya Menganggap Kalian sudah Menginstall Processing beserta Librarynya. Jika anda Masih Baru dengan Processing, silahkan Belajar dulu di TUTORIAL ini.
oke, pertama-tama
download JMRyon Library disini. silahklan download
Download JMyron 0025, karena itu versi terbaru yang tidak memerlukan library tambahan seperti Windig dan Quicktime untuk menginstallnya.
setelah didownload, lalu diekstrak dan buka folder JMyron0025, kemudian didalam folder tersebut, Copy-paste folder JMyron kedalam folder libraries processing.
sekarang, coba geh buka folder JMRyon tersebut di folder libraries Processing. pasti ada folder dengan nama "copy these into processing root or system32", itu maksudnya kita disuruh mengCopy dua file library yang ada di file tersebut yaitu "DSVL.dll" dan "myron_ezcam.dll" kedalam Sytem32 Windows kita. So, Go Ahead buka windows Explorer, masuk ke C:/Windows/System32 - kemudian copy file DSVL.dll" dan "myron_ezcam.dll" kedalam folder System32 anda.
next, langkah selanjutnya yang banyak orang tidak tau (*termasuk saya awalnya :p), anda download file
MSVCP71.DLL dan Msvcr71.dll yang bisa anda dapatkan di link ini >>
DOWNLOAD DISINI - setelah didownload copy-paste kedua file tersebut kedalam folder
Sytem32 Windows anda.
oke, jika sudah langkah terakhir tapi tidak wajib, hanya optional. buka folder JMyron0025 yang kita download sebelumnya, kemudian copy paste folder JMyron Examples ke dalam folder Examples Processing anda.
Contoh: saya gunakan Processing 1.2.1 - saya install processing tersebut ke Drive C:/ maka saya copy folder JMRyon Examples ke C:/Processing 1.2.1/Examples/
jika sudah, sekarang buka Processing anda, lalu untuk permulaan Copy-Paste Source Code dibawah ini. Source Code tersebut, untuk menjalankan kamera kita.
import JMyron.*;
JMyron theMov;
void setup() {
size(320, 240);
theMov = new JMyron();
theMov.start(width, height);
theMov.findGlobs(0);
}
void draw() {
theMov.update();
int[] currFrame = theMov.image();
// draw each pixel to the screen
loadPixels();
for (int i = 0; i < width*height; i++) {
pixels[i] = currFrame[i];
}
updatePixels();
}
public void stop() {
theMov.stop();
super.stop();
}
kemudian jalankan play, maka akan ada Video Live Camera di Komputer kita. jika anda berhasil maka JMRyon anda sudah berhasil dijalankan. selamat. anda berhasil menginstall JMRyon.
sekarang kita coba jalankan source code yang lain. kita akan melakukan Image Manipulation, dengan JMRyon. coba anda jalankan source code dibawah ini, dan lihat yang terjadi.
import JMyron.*;
int NUM_SQUARES = 20;
JMyron theMov;
int sampleWidth, sampleHeight;
int numSamplePixels;
void setup() {
size(320, 240);
theMov = new JMyron();
theMov.start(width, height);
theMov.findGlobs(0);
sampleWidth = width/NUM_SQUARES;
sampleHeight = height/NUM_SQUARES;
numSamplePixels = sampleWidth*sampleHeight;
}
void draw() {
theMov.update();
int[] currFrame = theMov.image();
// go through all the cells
for (int y=0; y < height; y += sampleHeight) {
for (int x=0; x < width; x += sampleWidth) {
// reset the averages
float r = 0;
float g = 0;
float b = 0;
// go through all the pixels in the current cell
for (int yIndex = 0; yIndex < sampleHeight; yIndex++) {
for (int xIndex = 0; xIndex < sampleWidth; xIndex++) {
// add each pixel in the current cell's RGB values to the total
// we have to multiply the y values by the width since we are
// using a one-dimensional array
r += red(currFrame[x+y*width+xIndex+yIndex*width]);
g += green(currFrame[x+y*width+xIndex+yIndex*width]);
b += blue(currFrame[x+y*width+xIndex+yIndex*width]);
}
}
r /= numSamplePixels;
g /= numSamplePixels;
b /= numSamplePixels;
fill(r, g, b);
rect(x, y, sampleWidth, sampleHeight);
}
}
}
public void stop() {
theMov.stop();
super.stop();
}
Yapp,, sekian dulu yah tutorialnya. nanti saya lanjutkan lagi tutorial Image Processing ini. silahkan pelajari dulu source code diatas. Semoga Berhasil dan See Yaa..