1. PENGOLAHAN CITRA
Penajaman Citra Digital Dengan Teknik Penajaman
Citra (Sharpening) Menggunakan MATLAB 7.8
KELAS : 4IA08
DISUSUN OLEH :
Fahri Abdullah (50407339)
Putu Handharbeni P. (50407669)
TEKNIK INFORMATIKA
UNIVERSITAS GUNADARMA
2010
2. 1. Pendahuluan
Citra / gambar merupakan hal yang vital dan menjadi bagian integral dari kehidupan
sehari-hari. Pada kepentingan tertentu, citra (gambar) digunakan sebagai alat untuk
mengungkapkan pertimbangan (reason), interpretasi, ilustrasi, penggambaran (represent),
ingatan, pendidikan, komunikasi, evaluasi, navigasi survai, hiburan, dan lain sebagainya. Dewasa
ini perkembangan teknologi semakin pesat. Salah satu hasil perkembangan teknologi tersebut
adalah teknologi pengolahan citra. Banyak sekali aplikasi pada dunia elektronika dengan
menggunakan teknologi pengolahan citra seperti video digital, robotika dan masih banyak lagi.
Pada makalah ini akan dibahas pembuatan aplikasi untuk pengolahan citra.
Adapun fasilitas pada aplikasi yang dikembangkan ini adalah fasilitas pengolahan citra
digital yaitu pengaturan tingkat kecerahan (brightness), tingkat kontras warna (contrast) serta
tigkat kesimbangan warna (color balance). Untuk memperbaiki kualitas gambar yang kurang
baik terdapat fasilitas metode perbaikan citra digital seperti penghilangan noise (metode
gaussian), dan penambahan ketajaman gambar (spatial sharpening). Penggabungan metode-
metode tersebut diharapkan mampu menambah kualitas citra. Selain itu juga terdapat fasilitas
untuk memberikan efek pada citra digital yaitu negatif, grayscaling serya sephia.
2. Pengolahan Citra
Data atau informasi tidak hanya disajikan dalam bentuk teks, tetapi juga dapat berupa
gambar, audio (bunyi, suara, musik), dan video. Keempat macam data atau informasi ini sering
disebut multimedia. Era teknologi informasi saat ini tidak dapat dipisahkan dari multimedia.
Situs web (website) di Internet dibuat semenarik mungkin dengan menyertakan visualisasi
berupa gambar atau video yang dapat diputar. Beberapa waktu lalu istilah SMS (Short Message
Service) begitu populer bagi pengguna telepon genggam (handphone atau HP). Tetapi, saat ini
orang tidak hanya dapat mengirim pesan dalam bentuk teks, tetapi juga dapat mengirim pesan
berupa gambar maupun video, yang dikenal dengan layanan MMS (Multimedia Message
Service). Citra (image)1 –istilah lain untuk gambar– sebagai salah satu komponen multimedia
memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai
karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Ada sebuah
peribahasa yang berbunyi “sebuah gambar bermakna lebih dari seribu kata” (a picture is more
3. than a thousand words). Maksudnya tentu sebuah gambar dapat memberikan informasi yang
lebih banyak daripada informasi tersebut disajikan dalam bentuk kata-kata (tekstual). Bab
pertama ini berisi pembahasan mengenai citra dan pengolahannya. Selain itu, di dalam bab ini
dipaparkan pula bidang-bidang yang berkaitan dengan pengolahan citra, seperti grafika komputer
dan pengenalan pola.
3. Penajaman Citra (image Sharpening)
Operasi penajaman citra bertujuan memperjelas tepi pada objek di dalam citra.
Penajaman citra merupakan kebalikan dan operasi pelembutan citra, karena operasi ini
menghilangkan bagian citra yang lembut.
Operasi penajaman dilakukan dengan melewatkan citra pada penapis lolos-tinggi (high-
pass filter). Penapis lolos-tinggi akan meloloskan (atau memperkuat) komponen yang
berfrekuensi tinggi (misalnya tepi atau pinggiran objek) dan akan menurunkan komponen
berfrekuensi rendah. Akibatnya, pinggiran objek telihat lebih tajam dibandingkan sekitarnya.
Selain untuk mempertajam gambar, penapis lolos-tinggi juga digunakan untuk
mendeteksi keberadaan tepi (edge detection). Dalam hal ini, pixel-pixel tepi ditampilkan
lebih terang (highlight) sedangkan pixel-pixel bukan tepi dibuat gelap (hitam).
Aturan penapis lolos-tinggi :
1. koefisien penapis boleh positif, negatif, atau nol
2. jumlah semua koefisien adalah 0 atau 1
Jika jumlah koefisien = 0, maka komponen berfrekuensi rendah akan turun nilainya,
sedangkan jika jumlah koefisien, sama dengan 1, maka komponen berfrekuensi rendah akan
tetap sama dengan nilai semula. Contoh-contoh penapis lolos-tinggi :
4. Nilai koefisien yang besar di titik pusat penapis memainkan peranan kunci dalam proses
konvolusi. Pada komponen citra dengan frekuensi tinggi (yang berarti perubahan yang besar
pada nilai intensitasnya), nilai tengah ini dikalikan dengan nilai pixel yang dihitung. Koefisien
negative yang lebih kecil di sekitar titik tengah penapis bekerja untuk mengurangi faktor
pembobotan yang besar. Efek nettonya adalah, pixel-pixel yang bernilai besar diperkuat,
sedangkan area citra dengan intensitas pixel konstan tidak berubah nilanya.
Karena koefisien penapis mengandung nilai negatif, maka konvolusi mungkin saja
menghasilkan pixel bernilai negatif. Meskipun intensitas bernilai negatif menarik, tetapi kita
tidak dapat menampilkannya. Untuk alasan terakhir ini implementasi konvolusi menset nilai
negatif menjadi nilai 0. Cara lainnya adalah dengan mengambil nilai mutlaknya atau
menskalakan semua nilai pixel secara menaik sehingga nilai yang paling negatif menjadi 0.
Metode ini cocok untuk indentifikasi penutup lahan atau tanaman pertanian tanah.
4. MATLAB
MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk
komputasi masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman
dalam suatu model yang sangat mudah untuk pakai dimana masalah-masalah dan
penyelesaiannya diekspresikan dalam notasi matematika yang familiar. Penggunaan Matlab
meliputi bidang–bidang:
• Matematika dan Komputasi
• Pembentukan Algorithm
• Akusisi Data
• Pemodelan, simulasi, dan pembuatan prototipe
• Analisa data, explorasi, dan visualisasi
• Grafik Keilmuan dan bidang Rekayasa
MATLAB merupakan suatu sistem interaktif yang memiliki elemen data dalam suatu
array sehingga tidak lagi kita dipusingkan dengan masalah dimensi. Hal ini memungkinkan kita
untuk memecahkan banyak masalah teknis yang terkait dengan komputasi, kususnya yang
berhubungan dengan matrix dan formulasi vektor, yang mana masalah tersebut merupakan
momok apabila kita harus menyelesaikannya dengan menggunakan bahasa level rendah seperti
5. Pascall, C dan Basic. Nama MATLAB merupakan singkatan dari matrix laboratory. MATLAB
pada awalnya ditulis untuk memudahkan akses perangkat lunak matrik yang telah dibentuk oleh
LINPACK dan EISPACK. Saat ini perangkat MATLAB telah menggabung dengan LAPACK
dan BLAS library, yang merupakan satu kesatuan dari sebuah seni tersendiri dalam perangkat
lunak untuk komputasi matrix. Dalam lingkungan perguruan tinggi teknik, Matlab merupakan
perangkat standar untuk memperkenalkan dan mengembangkan penyajian materi matematika,
rekayasa dan kelimuan. Di industri, MATLAB merupakan perangkat pilihan untuk penelitian
dengan produktifitas yang tingi, pengembangan dan analisanya.
Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih kita kenal dengan nama
toolbox. Sangat penting bagi seorang pengguna Matlab, toolbox mana yang mandukung untuk
learn dan apply technologi yang sedang dipelajarinya. Toolbox toolbox ini merupakan kumpulan
dari fungsi-fungsi MATLAB (M-files) yang telah dikembangkan ke suatu lingkungan kerja
MATLAB untuk memecahkan masalah dalam kelas particular. Area-area yang sudah bisa
dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal, system kontrol, neural networks,
fuzzy logic, wavelets, dan lain-lain.
Instalasi Matlab 7.8
Pertama – tama kita buka software 7.8 untuk memulai suatu penginstallan dalam
komputer dengan cara meng-klik software tersebut maka akan muncul sebuah window seperti
dibawah ini yang merupakan tampilan awal dari proses penginstala
6. Dari gambar diatas terdiri dari 2 opsi yaitu :
1. Install automatically using Internet (recommended)
Yang dimaksudkan penginstallan dengan menggunakan internet secara otomatis dan
langsung koneksi dengan internet yang terhubung langsung ke situs yang dituju yaitu
MATLAB.
2. Install manually without using the Internet
Yang dimaksudkan adalah penginstallan secara manual tanpa menggunakan internet
juga tanpa koneksi dengan internet yaitu dengan cara mengikuti tahap – tahap
penginstallan berikutnya.
Setelah itu, kita pilih option yang ke-2 yaitu “install manually without using the internet”
dan selanjutnya kita klik tombol next yang berada dibawah. Kemudian akan tampil sebuah
window lisensi seperti dibawah ini.
Setelah itu, kita pilih option yes untuk menerima license agreementnya supaya proses
pengintallan dilanjutkan. Selanujutnya klik tombol next untuk masuk kedalam proses
penginstallan selanjutnya.
7. Pada tampilan gambar diatas merupakan tampilan window file installation key untuk
melakukan suau aktivasi dalam software ini. Lalu kita pilih option “I have the file installation
key for my license” lalu masukkan aktivasi key yang kita punya yang biasanya tersimpan dalam
satu folder software tersebut. Setelah itu, kita klik next untuk melanjutkan proses penginstallan.
8. Pada tahap selanjutnya akan muncul window installation type yang dimaksudkan type
dari penginstallan tersebut apabila kita memilih typical penginstallannya secara otomatis dan
sudah dari settingan license productnya yang terdapat pada tahap selanjutnya tadi. Lalu apabila
kita memilih custom kita maka penginstallannya akan secara manual dan kita bisa memili
beberapa opsi lagi seperti product, file permissions, shortcuts, file type associations. Tetapi
untukemmpermudah penginstallan kita pilih saja option typical. Setelah itu kita pilih next untuk
melanjutkan proses penginstallan.
Pada gambar diatas telah ditampilka Window file selection yang dimaksudkan
penempatan suatu penginstalan itu akan ditematkan dan settingan defaultnya pada path
C:Program FileMATLABR2009a. Tetapi apabila ingin merubah penempatannya kita pilih
saja browse lalu pilih tempat penginstallannya. Setelah itu kita pilih next untuk melanjutkan
proses penginstallan.
9. Setelah itu, akan muncul windows confirmation yang berisikan tentang pengconfirmasian
installation settings yang terdiri dari tools – tools product yang dimilki MATLAB. Setelah itu
kita pilih next untuk melanjutkan proses penginstallan.
Dari gambar diata merupakan windows yang menampilkan proses penginstallan sedang
berjalan. Tunggu penginstalan sampai 100% maka selanjutnya akan muncul window seperti
gambar dibawah ini.
10. Pada gambar diatas merupakan tampilan windows product configuration notes pada
MATLAB yang berisi tentang catatan untuk memperoleh langkah-langkah instalasi konfigurasi
tambahan yang disediakan oleh MATLAB. Setelah itu, klik next dan telah instalasi selesai
terdapat check box dan checkbox ( Activate MATLAB ) kita tandai.
11. PEMBUATAN APLIKASI SHARPENING JPEG
1. Run Program MATLAB 7.8 yang ada desktop kita.
2. Apabila kita sudah masuk ke dalam program MATLAB, kita pilih File → New → GUI untuk
membuka file baru pada GUI.
3. Maka akan tampil GUIDE quick start, seperti gambar dibawah ini, pilih Blank GUI untuk
membuka lembar GUI baru yang kosong.
Penjelasan Program
12.
13. Dalam pembuatan GUI dengan menggunakan GUIDE menyebabkan adanya blok inisialisasi
pada M-File yang merupakan suatu ketetapan dari MATLAB, jadi tidak dapat diubah atau
dihapus isinya, karena akan menyebabkan eror pada GUI tersebut. Script program selanjutnya
merupakan routine program untuk membuka figure yang telah kita buat, script program ini tidak
menghasilkan output, akan tetapi hanya digunakan untuk menghandle figure yang telah kita buat.
Selain itu, blodk program ini juga digunakan dalan menghandle argument input dan output
program yang kita buat. Berikutnya masukkan scrip program ke dalan rutin subfungsi yang telah
14. didefinisikan ke dalam button untuk memberikan efek atau reaksi jika pengguna menekan
tombol Buka Citra. Dalam hal ini, jika pengguna menekan button Buka Citra, maka program
akan menampilkan kotak dialog untuk membuka file citra yang akan diproses. Pada
functionbtn_buka_Callback(hObject, eventdata, handles), digunakan fungsi uigetfile untuk
membaca file citra dengan format yang didefinisikan. Sebaliknya, fungsi ~isequal(nama_file1,0)
memberikan tes kondisi yang menyatakan keberadaan sebuah file. Jika filenya ada, maka
isequal() akan memberikan nilai 1 dan 0 untuk sebaliknya. Fungsi imread (fullfile(nama_path1,
nama_file1)) digunakan untuk membaca file direktori nama_path1 dan nama filenya adalah
nama_file1. Dalam hal ini, fungsi fullfile digunakan untuk membaca file lengkap dengan
direktorinya.
Fungsi imfinfo digunakan untuk memberikan semua informasi tentang file yang dibaca
(nama file, ukuran, tanggal modifikasi data, tipe warna, dll). Karena pada fungsi imfinfo size
data yang ditampilkan dalam ukuran byte, maka dilakukan proses konversi menjadi kilobyte.
Selanjutnya adalah menampilkan file yang kita buka ke dalam axes. Statement axes digunakan
untuk menghandle tempat bagi file citra yang akan ditampilkan, sedangkan untuk
menampilkannya digunakan statement imshow. Sedangkan untuk menampilkan informasi
tentang cita digunakan set(handles.text, ‘String’, info.File). Selanjutnya berikan script program
untuk proses kompresi JPEG. Pada matlab, kompresi JPEG terdapat pada toolbox image
processing yang tergabung dalam perintah imwrite, yaitu: imwrite(A, filename, fmt) dengan A
adalah citra asli yang dapat berupa citra hitam putih maupun citra berwarna. Filename adalah
nama file hasil kompresi JPEG. Sedangkan fmt sebenarnya digunakan untuk menspesifikasikan
quality kompresi yang nilainya antara 1 sampai 100, namun dalam hal ini bersifat optional.
Untuk menambah interaktif tampilan, tambahkan question dialog yang akan ditampilkan ketika
pengguna memilih tombol keluar. Untuk menutup figure dan aplikasi jika pengguna memilih yes
ketika muncul question dialog, gunakan statement delete(handles.figure1), maka aplikasi akan
tertutup.
16. Tampilan untuk menginput atau membuka file yang berextention
jpg, bmp, dan semuanya
Tampilan ketika gambar yang sudah kita input tadi dan masik ke
dalam program
17. Tampilan ketika kita sudah mengklik common button “SHARP”
dan gambar akan tampak penajamannya dari sebelumnya
Tampilan dialog question apabila kita mengklik tombol keluar
untuk mengakhiri program