[Part 1] Segmentasi Objek Menggunakan Kamera Android Berdasarkan Warna Dasar Objek

screenshot-1403342989069

Setelah beberapa waktu lalu mencoba-coba sensor orientasi android, pada kesempatan ini penulis akan berbagi sedikit hasil belajar saat memprogram kamera android. Percobaan yang dilakukan kali ini hanyalah sebatas segmentasi objek berdasarkan warna dasar yang dilakukan secara realtime(video Capturing). Hasil tersebut kemudian ditampilkan dalam bentuk Threshold pada layar handphone. Bahasa pemprograman yang digunakan adalah full java programming dan Image processing library yang digunakan adalah openCV android.Program terdiri dari 3 class yaitu activity utama, survace view, dan yang terakhir adalah class untuk image processing. Berikut adalah isi dari class yang berisi Aktivity utama :

packagecom.example.kamera;

importandroid.os.Bundle;

importandroid.app.Activity;

importandroid.util.Log;

importorg.opencv.android.BaseLoaderCallback;

importorg.opencv.android.LoaderCallbackInterface;

importorg.opencv.android.OpenCVLoader;

 

public class MainActivity extends Activity {

protected static final String TAG = “Test Kamera”;

private Unisi unisi;

 

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_6, this,

mOpenCVCallBack)) {

Log.i(TAG, “Gagal Conect”);

}

}

 

@Override

protected void onResume(){

super.onResume();

if (unisi !=null && !unisi.openCamera())

finish();

}

protected void onPause(){

super.onPause();

if (unisi !=null)

unisi.releaseCamera();

}

 

private BaseLoaderCallback mOpenCVCallBack = new BaseLoaderCallback(this) {

@Override

public void onManagerConnected(int status) {

if (status == LoaderCallbackInterface.SUCCESS) {

Log.i(TAG, “Conect Success”);

unisi = new Unisi(mAppContext);

setContentView(unisi);

if(!unisi.openCamera())

finish();

} else {

super.onManagerConnected(status);

}

}

};

}

 

Continue reading