Beruflich Dokumente
Kultur Dokumente
STEP 1
Misalkan suatu citra (img1) pada contoh program ini adalah citra dengan pixel 4x3
STEP 2
Pengambilan nilai pixel pada img1 dimulai dari scan pixel dari sumbu y ke x
For y = 0 To (img1.Height - 1) Step 1 'scan pixel dari sumbu y ke x For x = 0 To (img1.Width - 1) Step 1 pixelcolor = img1.GetPixel(x, y) 'mengambil nilai pixel dari citra awal (img1)
Maka didapatkan tabel img1 x 0 1 2 3 0 1 2 3 0 1 2 3 y 0 0 0 0 1 1 1 1 2 2 2 2 Ki 100 200 120 150 70 80 100 100 80 70 30 90
x1 = CInt(((x + 1) * sX) - 1) 'posisi pixel x yang berpindah karena perbesaran y1 = CUInt(((y + 1) * sY) - 1)'posisi pixel y yang berpindah karena perbesaran img2.SetPixel(x1, y1, pixelcolor) 'penaruhan pixel baru pada img2
setelah dilakukan pengalian dan pembulatan pada tabel img1, maka didapatkan matrix img2
STEP 2
Pengisian pixel yang kosong berdasarkan metode tetangga terdekat
xAsal = x1 yAsal = y1 For x1 = xAsal To xN Step -1 'pengisian pixel yang kosong dengan metode For y1 = yAsal To yN Step -1 'tetangga terdekat img2.SetPixel(x1, y1, pixelcolor) Next Next
0 0 1 2 3 4 5
100 100 70 80
200 200
200 200 80 70
120 100 30
150 100 90
Kode diatas digunakan untuk menentukan nilai batas yN dan yN, sebagai batas pengisian nilai pixel yang kosong
100 100 70 70 80 80
200 200 80 80 70 70
200 200 80 80 70 70
Program dibuat dengan Visual Studio 2012. Dapat dilihat perbedaan perbesaran gambar dari citra 3x4 menjadi 60x60 pixel dengan metode tetangga terdekat dibandingkan dengan metode bilinier
Sedangkan untuk perbesaran suatu foto akan dihasilkan citra yang terlihat lebih bagus dengan metode bilinier dibandingkan dengan metode tetangga terdekat