mikrokontroller. Dengan sebuah Raspberry Pi seseorang dapat membuat proses computing
yang hampir tidak terpikirkan menjadi mungkin terwujud. Salah satunya adalah penelitian Pi In The Sky yang dapat mangambil gambar permukaan
bumi dari luar angkasa. Mempelajari single board computer berarti kita sedang mempelajari
embedded system dengan metode belajar yang lebih mudah. Belajar embedded
system merupakan cara yang baik untuk lebih mengenal arsitektur komputer. Pada
PCTabletSmartphone, ada begitu banyak “layer” yang mempersulit pemahaman kita tentang hardware, tapi dengan mempelajari embedded system kita bisa
langsung berinteraksi dengan hardware, bahkan tanpa menggunakan sistem operasi sama sekali. Sebenarnya tidak hanya single board computer yang
digunakan sebagai jalur untuk belajar embedded system, ada satu lagi jalur alternatif untuk belajar embedded system dengan mudah dan praktis tanpa
menggunakan sistem operasi sama sekali yaitu single board microcontroller dan beberapa versi yang sering kita temui dipasaran, seperti : Arduino, Parallax
Propeller, LaunchPad MSP430, dan sebagainya. Sedangkan versi lain dari single board computer
yang ada dipasaran selain Raspberry Pi seperti yang dijelaskan sebelumnya, yaitu : BeagleBoard, BeagleBone Black, Cubie Board, RadXa dan
lain sebagainya [12].
2.7 Computer Vision
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir
yang dikeluarkan CWI adalah 1.2. Tahun 1995, Guido pindah ke CNRI sambil
terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com
yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python
2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations. Nama Python itu sendiri dipilih oleh Guido karena kecintaan guido pada suatu
acara televisi Monty Python’s Flying Circus [13]. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam
korespondensi antar pengguna Python. Gambar 2.12 menunjukkan idle icon dari python dan Gambar 2.13 menunjukkan idle window Python 2.75 [13].
Gambar 2.12 Idle icon Python.
Python merupakan sebuah bahasa pemrograman berupa scripting. Didunia bahasa pemrograman scripting, Python relatif datang dari sisi scene yang
membuat banyak orang yakin dan percaya. Dikembangkan pada akhir tahun 1980, kemungkian 15 tahun setelah konsep dari Unix yang dipelopori oleh Guido Van
Rossum [13]. Python adalah bahasa pemrograman dinamis yang mendukung pemrograman berorientasi obyek. Python dapat digunakan untuk berbagai
keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform
sistem operasi. Seperti halnya bahasa pemrograman dinamis, python seringkali digunakan sebagai bahasa skrip dengan interpreter yang teintergrasi dalam sistem
operasi. Saat ini kode python dapat dijalankan pada sistem berbasis: 1. Linux Unix
2. Windows 3. Mac OS X
4. Java Virtual Machine 5. Symbian
Gambar 2.13
Python 2.75 Idle Window
Computer Vision adalah ilmu dan teknologi mesin yang melihat, di mana
mesin mampu mengekstrak informasi dari gambar yang diperlukan untuk menyelesaikan tugas tertentu. Sebagai suatu disiplin ilmu, visi komputer berkaitan
dengan teori di balik sistem buatan bahwa ekstrak informasi dari gambar. Data
gambar dapat mengambil banyak bentuk, seperti urutan video, pandangan dari beberapa kamera, atau data multi-dimensi dari scanner medis. Sedangkan sebagai
disiplin teknologi, computer vision berusaha untuk menerapkan teori dan model untuk pembangunan sistem computer vision. Computer Vision didefinisikan
sebagai salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali obyek yang diamati. Cabang ilmu ini bersama
Artificial Intelligence akan mampu menghasilkan Visual Intelligence System.
Perbedaannya adalah Computer Vision lebih mempelajari bagaimana komputer dapat mengenali obyek yang diamati. Namun komputer grafik lebih ke arah
pemanipulasian gambar visual secara digital. Bentuk sederhana dari grafik komputer adalah grafik komputer 2D yang kemudian berkembang menjadi grafik
komputer 3D, pemrosesan citra, dan pengenalan pola. Grafik komputer sering
dikenal dengan istilah visualisasi data [14].
Gambar 2.14
Hubungan kombinasi computer vision.
Computer Vision memiliki hubungan kombinasi yang ditunjukkan pada Gambar
2.14 dan diantara kombinasi tersebut adalah [14]: 1. Pengolahan Citra Image Processing, bidang yang berhubungan dengan
proses transformasi citragambar image. Proses ini bertujuan untuk mendapatkan kualitas citra yang lebih baik.
2. Pengenalan Pola Pattern Recognition, bidang ini berhubungan dengan proses identifikasi obyek pada citra atau interpretasi citra. Proses ini bertujuan
untuk mengekstrak informasipesan yang disampaikan oleh gambarcitra.
Untuk menunjang tugas Computer Vision, terdapat beberapa fungsi pendukung ke dalam sistem ini [14], yaitu :
1.
Proses penangkapan citra Image Acquisition a. Image Acqusition pada manusia dimulai dengan mata, kemudian informasi
visual diterjemahkan ke dalam suatu format yang kemudian dapat dimanipulasi oleh otak.
b. Senada dengan proses di atas, computer vision membutuhkan sebuah mata untuk menangkap sebuah sinyal visual.
c. Umumnya mata pada computer vision adalah sebuah kamera video. d. Kamera menerjemahkan sebuah scene atau image.
e. Keluaran dari kamera adalah berupa sinyal analog, dimana frekuensi dan amplitudonya frekuensi berhubungan dengan jumlah sinyal dalam satu
detik, sedangkan amplitudo berkaitan dengan tingginya sinyal listrik yang dihasilkan merepresentasikan detail ketajaman brightness pada scene.
f. Kamera mengamati sebuah kejadian pada satu jalur dalam satu waktu, memindainya dan membaginya menjadi ratusan garis horizontal yang
sama. g. Tiap‐tiap garis membuat sebuah sinyal analog yang amplitudonya
menjelaskan perubahan brightness sepanjang garis sinyal tersebut. h. Kemudian sinyal listrik ini diubah menjadi bilangan biner yang akan
digunakan oleh komputer untuk pemrosesan. i. Karena komputer tidak bekerja dengan sinyal analog, maka sebuah
analog‐to‐digital converter ADC, dibutuhkan untuk memproses semua sinyal tersebut oleh komputer.
j. ADC ini akan mengubah sinyal analog yang direpresentasikan dalam bentuk informasi sinyal tunggal ke dalam sebuah aliran stream sejumlah
bilangan biner. k. Bilangan biner ini kemudian disimpan di dalam memori dan akan menjadi
data raw yang akan diproses.
2.
Proses pengolahan citra Image Processing a. Tahapan berikutnya computer vision akan melibatkan sejumlah manipulasi
utama initial manipulation dari data binari tersebut. b. Image processing membantu peningkatan dan perbaikan kualitas image,
sehingga dapat dianalisa dan di olah lebih jauh secara lebih efisien. c. Image processing akan meningkatkan perbandingan sinyal terhadap noise
signal‐to‐noise ratio = sn. d. Sinyal‐sinyal tersebut adalah informasi yang akan merepresentasikan
objek yang ada dalam image.
e. Sedangkan noise adalah segala bentuk interferensi, kekurangan pengaburan, yang terjadi pada sebuah objek.
3.
Analisa data citra Image Analysis
a.
Image analysis akan mengeksplorasi scene ke dalam bentuk karateristik utama dari objek melalui suatu proses investigasi.
b.
Sebuah program komputer akan mulai melihat melalui bilangan biner yang merepresentasikan informasi visual untuk mengidentifikasi fitur‐fitur
spesifik dan karekteristiknya.
c.
Lebih khusus lagi program image analysis digunakan untuk mencari tepi dan batas‐batasan objek dalam image.
d.
Sebuah tepian edge terbentuk antara objek dan latar belakangnya atau antara dua objek yang spesifik.
e.
Tepi ini akan terdeteksi sebagai akibat dari perbedaan level brightness pada sisi yang berbeda dengan salah satu batasnya.
4.
Proses pemahaman data citra Image Understanding
a.
Ini adalah langkah terakhir dalam proses computer vision, yang mana sprsifik objek dan hubungannya diidentifikasi.
b.
Pada bagian ini akan melibatkan kajian tentang teknik-teknik artificial intelligent
.
c.
Understanding berkaitan dengan template matching yang ada dalam
sebuah scene.
d.
Metoda ini menggunakan program pencarian search program dan teknik penyesuaian pola pattern matching techniques.
SimpleCV merupakan sebuah framework berbasis open source yang digunakan untuk membangun aplikasi berbentuk computer vision [15]. Dengan
menggunkannya memungkinkan kita untuk mengakses beberapa fungsi tertentu yang terdapat pada library computer vision seperti halnya yang terdapat pada
OpenCV yang dijalankan pada bahasa pemrograman Python. Tanpa perlu belajar terlebih dahulu mengenai bit depths, file formats, color spaces, buffer
management, eigenvalues, atau matrix versus bitmap storage kita sudah bisa dan
mudah untuk membuat aplikasi tersebut. Hal ini yang membuatnya menjadi lebih popular dibandingkan framework computer vision lainnya. SimpleCV adalah
kumpulan dari banyak library dan software yang dapat digunakan untuk membangun aplikasi vision. SimpleCV juga memperbolehkan kita bekerja secara
streaming gambar atau video yang diperoleh dari kamera webcam, Kinects,
FireWire, dan IP kamera atau mobile phones. Hal inilah yang membantu kita
membangun software untuk membuat variasi teknologi yang berbeda yang tidak hanya dilihat oleh dunia tetapi juga dapat dimengerti dan dipahami. SimpleCV
yang ditulis pada bahasa pemrograman Python dan gratis untuk digunakan menjadi kelebihan yang luar biasa dan dapat dijalankan pada Mac, Windows, dan
Ubuntu Linux, dan lisensinya berada dibawah naungan BSD license.
2.8 Konsep Dasar Pengolahan Citra Digital