Sie sind auf Seite 1von 6

Visual Studio 2012 Image Scale In

STEP 1
Misalkan suatu citra (img1) pada contoh program ini adalah citra dengan pixel 4x3

*Dengan pengamsumsian nilai keabu-abuan Setelah diinputkan nilai SX = 1.5 SY = 2


sX sY xN yN = = = = Val(num1.Text) ' INPUT nilai perbesaran X Val(num2.Text) ' INPUT nilai perbesaran Y 0 0 ' Ukuran lebar gambar yang baru (w') ' ukuran tinggi gambar yang baru (h') ' img2 = citra yang baru

w1 = CUInt(img1.Width * sX) h1 = CUInt(img1.Height * sY) img2 = New Bitmap(w1, h1)

maka : w1 h1 = = pembulatan (4 * 1.5) pembulatan (3 * 2) = = 6 6

jadi img2 akan memiliki pixel 6x6

Reza Andrea reza@bibirdesign.com

Visual Studio 2012 Image Scale In

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

Reza Andrea reza@bibirdesign.com

Visual Studio 2012 Image Scale In

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

xN = xAsal + 1 yN = Int(yAsal - sY + 1) If xN > (w1 - 1) Then xN = 0 yN = Int(yN + sY) End If

Kode diatas digunakan untuk menentukan nilai batas yN dan yN, sebagai batas pengisian nilai pixel yang kosong

Reza Andrea reza@bibirdesign.com

Visual Studio 2012 Image Scale In

Next Next PictureBox2.Image = img2

SELESAI! Maka semua pixel di img2 pun telah terisi semua


0 0 1 2 3 4 5 1 2 3 4 5

100 100 70 70 80 80

200 200 80 80 70 70

200 200 80 80 70 70

120 120 100 100 30 30

120 120 100 100 30 30

150 150 100 100 90 90

Reza Andrea reza@bibirdesign.com

Visual Studio 2012 Image Scale In

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

Reza Andrea reza@bibirdesign.com

Visual Studio 2012 Image Scale In

Sedangkan untuk perbesaran suatu foto akan dihasilkan citra yang terlihat lebih bagus dengan metode bilinier dibandingkan dengan metode tetangga terdekat

Reza Andrea reza@bibirdesign.com

Das könnte Ihnen auch gefallen