Representasi Citra Digital dan Piksel Penyusunnya
Citra adalah representasi dari fungsi intensitas cahaya dalam bidang dua dimensi. Berdasarkan sinyal pembentuknya, citra dibedakan menjadi dua jenis yaitu citra analog dan citra digital.
1. Citra Analog
Citra analog merupakan citra yang terbentuk dari sinyal kontinyu. Nilai intensitas cahaya pada citra analog memiliki range antara 0 s.d ~. Alat akuisisi citra analog antara lain mata manusia dan kamera analog.
2. Citra Digital
Citra digital merupakan citra yang terbentuk dari sinyal diskrit. Nilai intensitas cahaya pada citra digital bergantung pada kedalaman bit yang menyusunnya (materi lebih lanjut mengenai kedalaman bit suatu citra dapat dilihat pada laman berikut: Kedalaman Bit Suatu Citra Grayscale). Alat akuisisi citra digital antara lain yaitu kamera digital, smartphone, webcam, scanner, mikroskop digital, pesawat radiodiagnostik seperti CT Scan, CR, MRI, USG, dll.
Dalam bidang dua dimensi, citra dibentuk oleh sekumpulan picture element (pixel) yang memiliki dua informasi penting yaitu koordinat piksel (x,y) dan nilai intensitas piksel f(x,y) (materi lebih lanjut mengenai piksel sebagai penyusun citra digital dapat dilihat pada laman berikut: Pengolahan Citra Digital).
Berikut ini merupakan contoh aplikasi pemrograman matlab mengenai representasi citra digital dan piksel penyusunnya:
1. Citra digital 1-bit (2 derajat keabuan)
Pada citra ini nilai intensitas citra dibagi menjadi 2^1 = 2 derajat keabuan yaitu hitam (0) dan putih (1). Citra jenis ini disebut juga dengan citra biner (binary image).
2. Citra digital 2-bit (4 derajat keabuan)
Pada citra jenis ini, nilai intensitas citra dibagi menjadi 2^2=4 derajat keabuan yaitu hitam (0), abu-abu gelap (1), abu-abu terang (2), dan putih (3).
3. Citra digital 3-bit (8 derajat keabuan)
Pada citra jenis ini, nilai intensitas citra dibagi menjadi 2^3=8 derajat keabuan
4. Citra digital 4-bit (16 derajat keabuan)
Pada citra jenis ini, nilai intensitas citra dibagi menjadi 2^4=16 derajat keabuan
5. Citra digital 5-bit (32 derajat keabuan)
Pada citra jenis ini, nilai intensitas citra dibagi menjadi 2^5=32 derajat keabuan
6. Citra digital 6-bit (64 derajat keabuan)
Pada citra jenis ini, nilai intensitas citra dibagi menjadi 2^6=64 derajat keabuan
7. Citra digital 7-bit (128 derajat keabuan)
Pada citra jenis ini, nilai intensitas citra dibagi menjadi 2^7=128 derajat keabuan
8. Citra digital 8-bit (256 derajat keabuan)
Pada citra jenis ini, nilai intensitas citra dibagi menjadi 2^8=256 derajat keabuan
File source code lengkap beserta citra untuk menampilkan piksel suatu citra digital dapat diperoleh melalui halaman berikut ini: Source Code
Sedangkan tampilan source codenya adalah:
function digital_image global edit1 ax1 panel4 J f = figure('Name','Digital Image','MenuBar','none',... 'ToolBar','none','NumberTitle','off','Position',[250 130 800 500]); panel1 = uipanel('Title','Digital Image','FontWeight','bold',... 'FontSize',10,'Position',[.1 .3 .35 .6]); panel2 = uipanel('Title','Bit Depth','FontWeight','bold',... 'FontSize',10,'Position',[.1 .12 .35 .13]); btn1 = uicontrol('Parent',panel2,'Style', 'pushbutton', 'String', '<<',... 'Position', [12 12 80 20],'Callback', @pushbutton1); btn2 = uicontrol('Parent',panel2,'Style', 'pushbutton', 'String', '>>',... 'Position', [183 12 80 20],'Callback', @pushbutton2); ax1 = axes('Parent',panel1,'Position',[.1 .1 .85 .85],'XTick',[],... 'YTick',[],'Visible','off'); edit1 = uicontrol('Parent',panel2,'Style','edit','Enable','inactive',... 'String','1','Position',[98 12 80 20]); panel3 = uipanel('Title','Pixel Region','FontWeight','bold',... 'FontSize',10,'Position',[.55 .3 .35 .6]); panel4 = uipanel('Parent',panel3,'Position',[.1 .1 .8 .8]); I = im2double(imread('cameraman.tif')); n = 1; J = round(I.*((2^n)-1)); cmap = zeros(2^n,3); for i = 1:2^n cmap(i,:) = (i-1)/((2^n)-1); end axes(ax1) himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:(2^n)-1]); impixelregionpanel(panel4, himage); function pushbutton1(~,~) global edit1 ax1 panel4 image_num = str2double(get(edit1,'string')); if image_num > 1 image_num = image_num-1; I = im2double(imread('cameraman.tif')); n = image_num; J = round(I.*((2^n)-1)); cmap = zeros(2^n,3); for i = 1:2^n cmap(i,:) = (i-1)/((2^n)-1); end axes(ax1) himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:(2^n)-1]); switch image_num case 5 himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:2:(2^n)-1]); case 6 himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:5:(2^n)-1]); case 7 himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:25:(2^n)-1]); case 8 himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:50:(2^n)-1]); end set(edit1, 'string', image_num); impixelregionpanel(panel4, himage); else image_num = 1; set(edit1, 'string', image_num); end function pushbutton2(~,~) global edit1 ax1 panel4 image_num = str2double(get(edit1,'string')); if image_num < 8 image_num = image_num+1; I = im2double(imread('cameraman.tif')); n = image_num; J = round(I.*((2^n)-1)); cmap = zeros(2^n,3); for i = 1:2^n cmap(i,:) = (i-1)/((2^n)-1); end axes(ax1) himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:(2^n)-1]); switch image_num case 5 himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:2:(2^n)-1]); case 6 himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:5:(2^n)-1]); case 7 himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:25:(2^n)-1]); case 8 himage = imshow(J,[]);colormap(cmap),colorbar('Ticks',[0:50:(2^n)-1]); end set(edit1, 'string', image_num); impixelregionpanel(panel4, himage); else image_num = 8; set(edit1, 'string', image_num); end
Posted on January 25, 2016, in Pengolahan Citra and tagged aplikasi pengolahan citra digital menggunakan matlab, aplikasi pengolahan citra menggunakan matlab, bit depth citra digital, citra analog dan citra digital, citra biner, citra grayscale, contoh pengolahan citra digital menggunakan matlab, contoh program matlab, contoh program matlab pengolahan citra, contoh program matlab sederhana, contoh program pengolahan citra digital menggunakan matlab, image processing, image quantization, kedalaman bit citra digital, kuantisasi citra, Pengolahan Citra Digital, pengolahan citra digital dan aplikasinya menggunakan matlab, pengolahan citra digital dengan matlab, pengolahan citra digital menggunakan GUI Matlab, pengolahan citra digital menggunakan matlab, perbedaan citra analog dan citra digital, representasi citra digital, source code matlab pengolahan citra, tutorial matlab untuk pengolahan citra. Bookmark the permalink. 7 Comments.
kak, saya mau tanya. bagaimana cara menyusun piksel pada citra menjadi satu dimensi saja? misalkan citra dg piksel 3×3 diubah menjadi 9×1
Bisa menggunakan perintah imresize
kak, saya mau tanya. bagaimana cara menyusun piksel pada citra menjadi satu dimensi saja? misalkan citra dg piksel 2000×500 diubah menjadi 1000×135 dan codingnya seperti apa?
Untuk mengubah ukuran citra bisa menggunakan perintah imresize
Kaka.. kalo misalnya citra saya 8 bit 0-255, bagaimana cara kuantisasi nya kakaa.. menggunakan perintah apa kaka.. untuk bisa dijadikan matirks lebih kecil.??
Bisa mempelajari artikel Kedalaman bit suatu citra grayscale melalui link berikut
https://pemrogramanmatlab.com/2015/12/29/kedalaman-bit-suatu-citra-grayscale/
Pingback: PENGERTIAN PENGOLAHAN CITRA DIGITAL, PENGENALAN POLA DAN GRAFIKA KOMPUTER – Ilham_STK