Informasi penting mengenai isi citra digital dapat
diketahui dengan membuat histogram citra. Histogram citra adalah
grafik yang menggambarkan penyebaran nilai-nilai intensitas piksel dari suatu citra atau bagian tertentu di dalam
citra. Dari sebuah histogram dapat diketahui frekuensi relatif
kemunculan setiap nilai aras keabuan pada citra. Oleh karena derajat keabuan mempunyai 256 aras (0 – 255) maka histogram akan menyatakan
jumlah kemunculan setiap nilai 0 – 255.
Berikut diberikan ilustrasi dengan sebuah matriks yang menggambarkan
sebuah citra aras keabuan. Misalkan matriks berikut diperoleh dari pembacaan nilai piksel citra digital yang berukuran
5 x 5, maka frekuensi
kemunculan setiap aras keabuan pada citra
adalah sbb.
10
|
10
|
70
|
65
|
10
|
15
|
70
|
75
|
100
|
100
|
15
|
70
|
100
|
100
|
100
|
10
|
15
|
100
|
70
|
65
|
15
|
15
|
10
|
70
|
10
|
Coba anda
gambarkan histogramnya.
Matlab menyediakan fungsi untuk menggambarkan
histogram sebuah citra,
yaitu imhist.m.
>> I = imread (’lena.jpg’);
>>
imhist (I)
>> H = imhist (I)
Menampilkan frekuensi kemunculan
setiap aras keabuan (0 – 255) secara
berurutan. Lihat hasilnya
di editor Matlab.
Dari histogramnya, dapat diketahui
banyak tentang kenampakan citra yang
bersangkutan, misalnya:
•
Pada sebuah citra yang gelap, maka histogramnya akan mengumpul pada
sisi aras keabuan rendah (sebelah kiri) -7 objek untuk peningkatan citra,
•
Pada sebuah citra yang terang, maka histogramnya akan mengumpul pada sisi
aras keabuan tinggi (sebelah kanan). Citra seperti
ini sering disebut
citra yang over exposure -7 objek untuk peningkatan citra,
•
Pada sebuah citra dengan kontras yang baik, maka histogramnya akan menempati hampir seluruh aras keabuan yang ada (0 – 255). Citra lena.jpg
adalah
contoh citra
dengan kontras
yang baik
karena histogramnya menempati hampir
seluruh aras keabuan
yang ada.
Citra lena1.jpg berikut ini adalah citra dengan pencahayaan yang terlalu
banyak (over exposure), sehingga
histogramnya sempit dan bergeser ke
arah kanan (aras keabuan tinggi).
Citra lena2.jpg berikut ini adalah citra dengan pencahayaan yang terlalu
kurang (citra gelap), sehingga
histogramnya sempit dan bergeser ke arah kiri (aras
keabuan rendah).
Untuk citra berwarna, histogramnya dinyatakan untuk setiap komponen
RGB (Red, Blue, Green) yang membentuk setiap piksel citranya. Dengan
demikian untuk setiap
citra berwarna dapat
dibuat tiga buah
histogram.
Contoh
Citra peppers.png
>> I = imread (‘peppers.png’)
>> imhist (I(:,:,1)) -7 menampilkan histogram
layer merah (red)
>> imhist (I(:,:,2)) -7 menampilkan histogram
layer biru (blue)
Operasi Translasi
Operasi translasi merupakan
operasi geometrik. Pada operasi
geometrik, koordinat piksel akan berubah akibat transformasi sedangkan
intensitasnya tetap.
Hal ini berbeda
dengan operasi aritmatika yang menyebabkan intensitas piksel
berubah sedangkan
koordinatnya tetap. Pengubahan
geometrik dari citra u[m,n] menjadi
citra baru u’[m,n] dapat ditulis sebagai
u’[m’,n’] = u[g1[m,n], g2[m,n]]
dengan g1 dan g2 adalah
fungsi transformasi geometrik.
Atau dapat dinyatakan
bahwa
m’ = g1[m,n]
n’ =
g2 [m,n]
Pada operasi translasi citra, fungsi transformasi geometrik yang digunakan adalah sebagai berikut.
m’
= m
+ y n’ = n + x
Konstanta y dan x merupakan
besaran pergeseran masing-masing dalam arah m dan arah n. Jika citra semula adalah A dan citra hasil
translasi adalah B, maka translasi dapat diimplementasikan dengan menyalin citra dari A ke B sebagai berikut.
B[m, n] = A[(m + y), (n + x)]
Operasi translasi dapat digunakan untuk memotong
citra menjadi citra dengan ukuran yang lebih kecil dengan cara membuang sebagian
pikselnya pada
arah baris (m) dan kolom (n). Pemotongan citra yang demikian sering disebut
dengan istilah cropping. Perhatikan gambar contoh. Cropping biasanya digunakan
untuk memilih suatu wilayah citra yang dikehendaki (sering disebut dengan istilah
ROI atau Region of Interest) atau membuang bagian-bagian pada citra yang tidak
dibutuhkan untuk proses
pengolahan selanjutnya.
Matlab menyediakan fungsi untuk operasi cropping citra, yaitu imcrop.m. Berikut beberapa contoh untuk menggunakan fungsi tersebut.
>> I = imread (‘circuit.tif’);
>>
I2 = imcrop (I)
Dengan menggunakan sintaks ini, maka Matlab akan menunggu pengguna
untuk memilih daerah yang akan di-cropping
(menggunakan mouse).
Pengguna dapat melihat hasilnya
dengan fungsi imshow.m.
>> imshow (I2)
Sintaks
fungsi imcrop yang
lain adalah
I3
= imcrop (I,
RECT)
RECT = [ xmin ymin width height] -7 koordinat cropping
Dengan I adalah matriks hasil pembacaan citra, xmin adalah kolom paling kiri, ymin adalah
baris paling atas, width adalah lebar yang dikehendaki, dan height
adalah tinggi yang
dikehendaki.
>> I3 = imcrop (I, [1 1 100 200]);
>>
imshow (I3)
>>
imshow (I), figure, imshow (I3)
Silahkan Download Materinya Disini
0 komentar:
Posting Komentar