Anda di halaman 1dari 9

TUGAS

PENGOLAHAN CITRA

DOSEN PENGAMPU :
MARCELINUS PETRUS SAPTONO, S.KOM., M.CS

Disusun Oleh:

NAMA : HERMANSA
NIM : 201455202071

UNIVERSITAS MUHAMMADIYAH SORONG


FAKULTAS TEKNIK PRODI TEKNIK INFORMATIKA
TAHUN AKADEMI 2017/2018
1.Bagaimana cara mengubah citra berwarna menjadi gray scale!
Jawab :
Cara mengubah citra warna menjadi gray-scale
Buat aplikasi AppWizard
Buat Menu seperti dengan tambahan Test sedangkan submenunya OpenFile dan GrayScale
Untuk mengedit isi program tekan tombol E dit Code atau buka file GrayScaleView.cpp

Tambahkan program untuk mengubah citra warna menjadi gray-scale seperti


dibawah ini :

/////////////////////////////////////////////////////////////////////////////
// CGrayScaleView message handlers
void CGrayScaleView::OnTestLoadgambar()
{
// TODO: Add your command handler code here
static char BASED_CODE szFilter[]="Bitmap Files (*.bmp)|*.bmp||";
CFileDialog m_ldFile(TRUE, "*.bmp", name,
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter);
if(m_ldFile.DoModal()==IDOK)
{
name=m_ldFile.GetPathName();
LoadGambar();
}
}
// Menampilkan gambar hasil dari open file
void CGrayScaleView::LoadGambar(void)
{
CDC* pDC = GetDC();
CDC dcMem;
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(), name,
IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hBitmap)
{
if(m_bmpBitmap.DeleteObject())
m_bmpBitmap.Detach();
m_bmpBitmap.Attach(hBitmap);
}
dcMem.CreateCompatibleDC(pDC);
dcMem.SelectObject(&m_bmpBitmap);
pDC->BitBlt(0,0,150,100,&dcMem,0,0,SRCCOPY);
}
// merubah data pixel ke RGB
void WarnaToRGB(long int warna,int *Red, int *Green, int *Blue)
{
*Red = warna & 0x000000FF;
*Green = (warna & 0x0000FF00) >> 8;
*Blue = (warna & 0x00FF0000) >> 16;
}
//merubah RGB ke data pixel
long int RGBToWarna(int Red, int Green, int Blue)
{
return(Red+(Green<<8)+(Blue<<16));
}
void CGrayScaleView::OnTestGrayscale()
{
// TODO: Add your command handler code here
long int warna;
int j,k,red,green,blue,gray;
CDC* pDC = GetDC();
CDC dcMem;
dcMem.CreateCompatibleDC(pDC);
dcMem.SelectObject(&m_bmpBitmap);
for(j=0;j<100;j++)
for(k=0;k<150;k++)
{
warna=dcMem.GetPixel(k,j);
// merubah data pixel ke RGB
WarnaToRGB(warna,&red,&green,&blue);
// mengubah warna menjadi Gray-Scale
gray=(red+green+blue)/3;
//merubah RGB ke data pixel
warna=RGBToWarna(gray,gray,gray);
dcMem.SetPixel(k,j,warna);
}
pDC->BitBlt(150,0,300,100,&dcMem,0,0,SRCCOPY);
}

2. Menambah header file


Buka file GrayScaleView.h
Tambahkan program seperti dibawah ini
// Attributes
public:
CGrayScaleDoc* GetDocument();
CString name;
CBitmap m_bmpBitmap;
// Operations
public:
void LoadGambar(void);

3. Cara menjalankan program


Pilih menu : Build->Execute (!)
Pilih menu : Test->OpenFile -> pilih salah satu gambar misalnya gambar.bmp
Pilih menu: Test->GrayScale hasilnya seperti gambar dibawah

2.Jelaskan cara mengatur jumlah derajat keabuan pada citra dengan thresholding!
Jawab :
Thresholding digunakan untuk mengatur jumlah derajat keabuan yang ada pada citra.
Dengan menggunakan thresholding maka derajat keabuan bisa diubah sesuai keinginan,
misalkan diinginkan menggunakan derajat keabuan 16, maka tinggal membagi nilai derajat
keabuan dengan 16. Proses thresholding ini pada dasarnya adalah proses pengubahan kuantisasi
pada citra, sehingga untuk melakukan thresholding dengan derajat keabuan dapat digunakan
rumus:
x = b . int (w/b)
dimana :
w adalah nilai derajat keabuan sebelum thresholding.
x adalah nilai derajat keabuan setelah thresholding.

Untuk mencoba melakukan proses thresholding, perlu dibuat program untuk dapat
mengubah-ubah nilai tresholding sesuai keinginan. Sehingga perlu ditampilkan dua citra,
yaitu citra asli (gray-scale) dan hasil thresholdingnya dengan nilai thresholding yang
ditentukan melalui input

3.Tuliskan prinsip-prinsip filtering pada citra!


Jawab :
a)Bila ingin mempertahankan gradasi atau banyaknya level warna pada suatu citra, maka kita
mempertahankan frekuensi rendah dan membuang frekuensi tinggi. Prinsip ini dinamakan
Low Pass Filter dan banyak digunakan untuk reduksi noise dan proses blur.
b)Bila ingin mendapatkan threshold atau citra biner yang menunjukkan bentuk suatu gambar,
maka kita mempertahankan frekuensi tinggi dan membuang frekuensi rendah. Prinsip
dinamakan High Pass Filter dan banyak digunakan untuk menentukan garis tepi (edge) atau
sketsa citra.
c)Bila ingin mempertahankan gradasi dan bentuk dengan tetap mengurangi banyaknya bidang
frekuensi (bandwidth) dan membuang sinyal yang tidak perlu, maka kita mempertahankan
frekuensi rendah dan frekuensi tinggi, sedangkan frekuensi tengahan dibuang. Prinsip
dinamakan Band Stop Filter. Teknik yang dikembangkan menggunakan Wavelet Transform
yang banyak digunakan untuk kompresi, restorasi, dan denoising.

1.Tuliskan ciri-ciri low pass filter pada citra dan bagaimana hasilnya!
Jawab :
a)semua nilainya positif.
b)jumlah dari semua nilainya sama dengan satu.
H ( x , y )0 dan H ( x , y )=1
xy

Contoh kernel untuk low pass filter :

Hasil low pass filter (penerapan konvolusi menggunakan kernel #2) :


1.Tuliskan ciri-ciri high pass filter pada citra dan bagaimana hasilnya!
Jawab :
a)nilai-nilainya terdiri positif, nol dan negatif dan jumlah dari semua nilainya sama dengan nol.

H ( x , y )=0
xy

b) Apabila dikenakan pada area dengan perubahan aras keabuan yang lambat (frekuensi
rendah),hasil berupa nol atau nilai yang sangat kecil.
c) Apabila dikenakan pada area yang perubahan aras keabuannya cepat (frekuensi tinggi), hasil
konvolusi bernilai sangat besar.
Contoh dari high pass filter :

Hasil dari high pass filter :

1.Hitunglah konvolusi dari :


Jawab :

[3 6 ][ 1 1]
0 3 1 1

( 13 )+( 16 )+( 10 )+( 13 )


3+6+ 0+3
12
Konvolusi 2 :

[6 4 ][ 1 1]
3 7 1 1

( 16 )+( 14 )+( 13)+(17 )


6+ 4+3+7
20

2.Hitunglah konvolusi dari :

Jawab :
[3 6 ][ 1 0]
0 3 0 1

(13)+( 06)+( 0)+( 13 )


3+ 0+0+3
0

Konvolusi 2 :

[6 4 ][ 1 0]
3 7 0 1

(16 )+( 06 )+( 03)+(17 )


6 +0+0+7
1

3.Tuliskan prinsip2 deteksi tepi pada citra!


Jawab :
a)Pendeteksian tepi Untuk meningkatkan penampakan garis batas suatu daerah atau obyek di
dalam citra.
b)Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang menghasilkan tepi-
tepi dari obyek-obyek citra, tujuannya adalah : Untuk menandai bagian yang menjadi detail
citra
c)Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya efek
dari proses akuisisi citra. Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila
titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya.

1.Tuliskan beberapa macam metode tepi yang umum digunakan!


Jawab :
Metode deteksi tepi-tepi yang paling sering digunakan adalah metode Canny.Metode Canny
berbeda dari metode deteksi tepi yang lain karena menggunakan dua ambang batas yang
berbeda (untuk mendeteksi tepi yang jelas dan tepi yang tidak jelas.

2.Tuliskan filter mask (=H) yg digunakan pada masing-masing metode tepi!


Jawab :
a)Metode Robert

b) Metode Prewitt
c) Metode Sobel
1.Diketahui sebuah fungsi citra biner f(x,y) sebagai berikut:

Dengan metode Robert, prewitt, dan sobel dapatkan tepi citra diatas.
Jawab :
Dengan menggunakan filter : []11),(=yxH
Maka Hasil filter adalah :

0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0

Bila digambarkan maka proses filter di atas mempunyai masukan dan keluaran sebagai
berikut;

Anda mungkin juga menyukai