Anda di halaman 1dari 7

PENGOLAHAN CITRA DIGITAL

FUNGSI IMSHOW




DISUSUN OLEH :

HENDRY PURNOMO NUGROHO
2112T0601
PROGRAM STUDI TEKNIK INFORMATIKA
STIMIK HIMSYA
2014
FUNGSI IMSHOW

Imshow merupakan fungsi di dalam matlab untuk menampilkan suatu gambar yang
berbentuk matrik dengan tipe data unsigned integer. Beberapa cara pengkodean fungsi imshow:
a. Imshow (x) menampilkan derajat keabuan (grayscale) dari suatu gambar x
b. Imshow (x, [low high]) menampilkan menampilkan derajat keabuan (grayscale) dari
suatu gambar x, yang sudah didefinisikan jangkauan (range) dari gambar tersebut dalam
[low high]. Nilai dalam range low dan dibawahnya, ditampilkan dengan warna hitam,
sementara untuk nilai dalam range high dan diatasnya, ditampilkan dalam warna putih.
Sedangkan nilai yang berada di dalam rangenya, ditampilkan dalam grayscale, dengan
menggunakan nilai awal dari derajat keabuan. Jika kita menggunakan matrik kosong ([ ])
untuk ([low high]), maka imshow akan menggunakan kode ([min(x(:)) max(x(:))] dimana
nilai minimum dari matrik x akan ditampilkan sebagai warna hitam dan nilai maksimum
dari matrik x akan ditampilkan sebagai warna putih.
c. Imshow (rgb) menampilkan warna asli dari gambar RGB.
d. Imshow (bw) manampilkan gambar biner. Imshow menampilkan pixels dengan nilai 0
sebagai warna hitam dan pixel yang bernilai 1 sebagai warna putih.
e. Imshow (x,map) menampilkan indeks gambar x dengan bentuk peta tabel warna. Sebuah
matrik dari tabel warna, dapat memiliki sembarang jumlah baris, tetapi pasti memiliki 3
jumlah kolom. Setiap baris direpresentasikan sebagai warna pada elemen pertama sebagai
nilai intensitas warna merah, elemen kedua intensitas warna hijau, dan elemen yang
ketiga sebagai intensitas warna biru. Nilai intensitas suatu warna dapat di klasifikasikan
dengan range 0.0 sampai dengan 1.0.
f. Imshow (filename) menampilkan gambar yang tersimpan di filename. File tersebut
harus dapat dibaca oleh fungsi imread atau dicomread. Imshow memanggil fungsi imread
atau dicomread, untuk membaca gambar dari sebuah file, tetapi tidak dapat menyimpan
data gambar tersebut di dalam Matlab workspace.

Secara garis besar, fungsi imshow dibagi menjadi dua kategori untuk pemrosesan citra,
yaitu pemrosesan gambar untuk Greyscale dan gambar biner. Pada praktikum Pengolahan Citra
Digital kali ini, penulis akan fokus untuk menggunakan fungsi imshow pada Greyscale image.

Jika x adalah sebuah matrik dengan tipe data uint8. Maka perintah imshow(x) pada
MATLAB akan menampilkan matrik x sebagai sebuah citra. Hal ini wajar, karena tipe data uint8
membatasi nilai integer antara 0 255. Namun tidak semua matrik suatu citra bertipe data uint8,
ada banyak perintah MATLAB pada pengolahan citra yang menghasilkan matrik bertipe double.
Ada dua pilihan langkah yang bisa diambil untuk matrik bertipe double ini , yaitu :
1. Mengubah matrik bertipe data double tersebut menjadi tipe data uint8, lalu menampilkan
matrik tersebut.
2. Menampilkan matrik bertipe double tersebut secara langsung.
Pilihan kedua mungkin bisa dilakukan karena perintah imshow akan menampilkan matrik bertipe
double sebagai citra grayscale sepanjang elemen matrik tersebut mempunyai nilai antara 0 dan 1.
Perhatikan contoh berikut ini :
>> c=imread('kyo.jpg');
>> cd=double(c);
>> imshow(c),figure,imshow(cd)











Gb. 1a. Citra bertipe uint8 Gb. 1b. Citra bertipe double integer

Kedua citra diatas tampak sangat berbeda, pada gambar 1.a merupakan citra dari matrik bertipe
uint8 sedangkan gambar 1.b merupakan citra dari matrik bertipe double. Hal ini dikarenakan
untuk matrik dengan tipe double, fungsi imshow akan menampilkan nilai antara 0 dan 1, dimana
0 menampilkan warna hitam dan 1 menampilkan warna putih. Nilai x antara 0 < x < 1 akan
ditampilkan sebagai derajat keabuan ( 255*x). Nilai yang lebih besar dari 1 akan ditampilkan
sebagai nilai 1 (putih) dan nilai yang kurang dari 0 akan ditampilkan sebagai 0 (hitam).
Untuk menampilkan matrik citra bertipe double agar citra yang ditampilkan sama dengan citra
dari matrik bertipe uint8, maka perlu dilakukan penskalaan kedalam jangkauan nilai 0 1. Hal
ini dilakukan dengan membagi setiap elemen matrik bertipe double dengan 255.
>> imshow(c),figure,imshow(cd/256)











Gb. 2a. Citra bertipe uint8 Gb. 2b. Citra bertipe double integer dengan skala/256

Citra bertipe double hasil penskalaan nilai 512 akan tampak lebih gelap, hal ini dikarenakan
semua elemen matrik citra akan mempunyai rentang nilai antara 0 0,5. Sedangkan citra dengan
penskalaan nilai 128 akan terlihat lebih terang, karena mempunyai rentang 0 2.
















Gb. 3a. Citra bertipe double int dengan skala/512 Gb. 3b. Citra bertipe double integer dengan skala/128

Gambar yang ditampilkan dari fungsi imshow dengan double integer, sangat bergantung
kepada nilai dari penskalaan. Selain menggunakan perintah double untuk mengubah tipe data
unsigned integer 8 bit, kita juga bisa menggunakan perintah im2double. Dengan menggunakan
perintah im2double, akan mengkoreksi penskalaan dari gambar kita. Contoh:
>> de=im2double(c);
>> imshow(de)






Gb. 4. Citra bertipe double int setelah diubah dengan im2double

Dengan menggunakan im2double, kita akan mendapatkan hasil tampilan gambar sesuai
dengan hasil tampilan gambar bertipe data uint8. Karena, im2double mengkonversi data dari tipe
unsigned integer 8 bit menjadi double integer dengan mengubah nilai numeric. Hal ini berbeda
dengan perintah double, yang hanya mengubah tipe data dari unsigned integer 8 bit menjadi
double integer tanpa mengubah nilai numeriknya. Sehingga jika kita ingin mengubah suatu tipe
data dari sebuah gambar, sebaiknya kita menggunakan perintah im2double daripada perintah
double. Pun begitu sebaliknya, untuk mengubah tipe data dari double integer ke unsigned integer
8 bit, lebih baik menggunakan perintah im2uint8.

Gambar Biner
Telah diketahui bahwa gambar biner hanya memiliki nilai 0 dan 1. Matlab tidak memiliki
tipe data biner, hanya saja Matlab memiliki suatu logical flag. Dimana tipe data uint8, yang
memiliki nilai 0 dan 1 dapat di presentasikan sebagai data logical. Logical Flag dapat di setting
dengan operasi relasional, seperti ==, <or>, atau operasi lainnya yang memiliki jawaban
ya/tidak. Inti dari operasi gambar biner adalah matrik dari gambar yang akan diolah harus
berdimensi dua.















DAFTAR PUSTAKA


An Introduction to Digital Image Processing with Matlab by Alasdair Mc Andrew

Catatanpeneliti.wordpress.com

Matlab Help File