Here's some result from my Snow Leopard using Python2.5.
The image below is original image that'll be processed to black and white, negative, log and gamma transformation
![]() |
| From Blogsy Photos |
Here's the code (ignore the comments, I used it for paper several years ago )
print 'Program Image Enchancement'
print 'Oleh Nugroho Adi Pramono'
print '==========================='
'''Komentar diantara tiga-tanda petik tidak akan dibaca
oleh python'''
#komentar setelah tanda pagar juga tidak di baca oleh python
import Image #memanggil modul untuk olah gambar
import os,sys #memanggil modul untuk mengakses file
import numpy as np #memanggil modul untuk operasi matematika matrik/array
gb = Image.open('gambar.jpg') #memasukkan gambar ke variabel gb
print 'format awal: ' ,gb.format, "%dx%d" % gb.size, gb.mode
print 'konversi ke grayscale'
gbw = gb.convert("L")
gbw.save('gambarBW.jpg') #simpan hasil konversi ddg nama gambarBW.jpg
gbw = Image.open('gambarBW.jpg') #masukkan gambar grayscale hasil konversi ke variabel gbw
print 'format: ',gbw.format, "%dx%d" % gbw.size, gbw.mode
ukuran=gbw.size #mengambil nilai resolusi gambar
'''buat array r dan s berukuran sama dengan ukuran gambar'''
r=np.zeros((ukuran[0],ukuran[1]),dtype=np.integer)
s=np.zeros((ukuran[0],ukuran[1]),dtype=np.integer)
print 'Mengambil nilai piksel, masukkan ke array r'
for i in range (ukuran[0]):
for j in range (ukuran[1]):
r[i,j]=gbw.getpixel((i,j))
print 'Mengolah gambar: Image Negatives'
s=np.add(255,-r) #kurangi 255 dengan setiap elemen array r, hasilnya masukkan ke array s
for i in range (ukuran[0]):
for j in range (ukuran[1]):
gbw.putpixel((i,j),s[i,j]) #letakkan pixel yang telah dimodifikasi ke posisi i,j
print 'Menyimpan gambar negative'
gbw.save('gambarNegative.jpg') #simpan dengan nama gambarNegative.jpg
print 'Gambar negative tersimpan'
print 'Mengolah gambar: Log Transformation'
s=100*np.log10(1+r) #c=100
for i in range (ukuran[0]):
for j in range (ukuran[1]):
gbw.putpixel((i,j),s[i,j]) #letakkan pixel yang telah dimodifikasi ke posisi i,j
print 'Menyimpan gambar hasil Log Transformation'
gbw.save('gambarLog.jpg') #simpan dengan nama gambarLog.jpg
print 'Gambar hasil Log Transformation tersimpan'
print 'Mengolah gambar: Power-law Transformations, Gamma=0,6'
s=np.power(r,0.6) #c=1 gamma=0.6
for i in range (ukuran[0]):
for j in range (ukuran[1]):
gbw.putpixel((i,j),s[i,j]) #letakkan pixel yang telah dimodifikasi ke posisi i,j
print 'Menyimpan gambar hasil Power-Law Transformation'
gbw.save('gambarPowGamma0p6.jpg') #simpan dengan nama gambarPowGamma0p6.jpg
print 'Gambar hasil Power-Law Transformation tersimpan'
print 'Mengolah gambar: Power-law Transformations, Gamma=2,5'
s=np.power(r,2.5) #c=1 gamma=2.5
for i in range (ukuran[0]):
for j in range (ukuran[1]):
gbw.putpixel((i,j),s[i,j]) #letakkan pixel yang telah dimodifikasi ke posisi i,j
print 'Menyimpan gambar hasil Power-Law Transformation'
gbw.save('gambarPowGamma2p5.jpg') #simpan dengan nama gambarPowgamma2p5
print 'Gambar hasil Power-Law Transformation tersimpan'
print 'Program Selesai'
Here the resultBlack and White
![]() |
| From Blogsy Photos |
![]() |
| From Blogsy Photos |
![]() |
| From Blogsy Photos |
![]() |
| From Blogsy Photos |
![]() |
| From Blogsy Photos |






0 comments:
Post a Comment