- Beranda
- Komunitas
- Tech
- Programmer Forum
[Pygtk] Sharpen gambar Pixbuf


TS
requnix
[Pygtk] Sharpen gambar Pixbuf
halo,
gw baru install linux dan ga nemu image viewer yang oke, sampe ane ketemu satu program ini --sebut saja bunga-- yang berusia sekian tahun dan sudah ditinggal majikannya (kalo ini orang, udah masuk sd kali). nah sayangnya, si bunga ini ga punya sharpen filter. jadi setiap gambar yang gw view, terlihat lebih blur dari pada kalo diliat pake image viewer lain. gw ga mau pake program lain karena satu dan lain alasan, dan akhirnya terpaksa gw fork sendiri.
jadi program ini make pygtk, dan di pixbuf ga ada fungsi untuk sharpen gambar (CMIIW). jadinya gw convert dulu ke PIL, terus sharpen pake ImageEnhance, baru akhirnya convert lagi ke pixbuf. so far so good, sharpen nya berfungsi. tapi kemungkinan di bagian convertion-nya ada masalah. gambar jadi berantakan, dan sering kali jadi hitam putih. dari beberapa gambar yang gw test, cuma png doang yang begini.
terus ini code nya:
pastebin link: [url]http://S E N S O R/qJF9QNJu[/url]
pertanyaan gw:
1. apa nama masalah ini? mau googling, tapi ga tau apa yang di-search :'(
2. apa ada solusi untuk code di atas? suspect gw di proses convertion nya.
3. apa ada cara lain untuk sharpen pixbuf? gw udah nyari-nyari tapi ga nemu. sebenernya ga sreg sama metode ini, terlalu bertele-tele. terus ada temen nyaranin pake imagemagick. nah, apa ga sama aja hasilnya?
EDIT
masalah terpecahkan! yang bermasalah itu proses convertion dari Pixbuf ke PIL, seharusnya begini:
[url]http://S E N S O R/fT8uxGri[/url]
gw baru install linux dan ga nemu image viewer yang oke, sampe ane ketemu satu program ini --sebut saja bunga-- yang berusia sekian tahun dan sudah ditinggal majikannya (kalo ini orang, udah masuk sd kali). nah sayangnya, si bunga ini ga punya sharpen filter. jadi setiap gambar yang gw view, terlihat lebih blur dari pada kalo diliat pake image viewer lain. gw ga mau pake program lain karena satu dan lain alasan, dan akhirnya terpaksa gw fork sendiri.
jadi program ini make pygtk, dan di pixbuf ga ada fungsi untuk sharpen gambar (CMIIW). jadinya gw convert dulu ke PIL, terus sharpen pake ImageEnhance, baru akhirnya convert lagi ke pixbuf. so far so good, sharpen nya berfungsi. tapi kemungkinan di bagian convertion-nya ada masalah. gambar jadi berantakan, dan sering kali jadi hitam putih. dari beberapa gambar yang gw test, cuma png doang yang begini.
Spoiler for penampakan:
terus ini code nya:
Code:
# Sharpen Pixbuf image
import StringIO, gtk
from PIL import ImageEnhance
from PIL import Image
def sharpen_image(image, sharpness=1.6):
# Converting Pixbuf to PIL
# image = pixbuf object
width,height = image.get_width(),image.get_height()
image = Image.fromstring("RGB", (width,height), image.get_pixels())
# Sharpen image using PIL
sharpener = ImageEnhance.Sharpness(image)
image = sharpener.enhance(sharpness)
# Converting PIL to Pixbuf
tmpfile = StringIO.StringIO()
image.save(tmpfile, "ppm")
data = tmpfile.getvalue()
tmpfile.close()
loader = gtk.gdk.PixbufLoader("pnm")
loader.write(data, len(data))
image = loader.get_pixbuf()
loader.close()
return image
pastebin link: [url]http://S E N S O R/qJF9QNJu[/url]
pertanyaan gw:
1. apa nama masalah ini? mau googling, tapi ga tau apa yang di-search :'(
2. apa ada solusi untuk code di atas? suspect gw di proses convertion nya.
3. apa ada cara lain untuk sharpen pixbuf? gw udah nyari-nyari tapi ga nemu. sebenernya ga sreg sama metode ini, terlalu bertele-tele. terus ada temen nyaranin pake imagemagick. nah, apa ga sama aja hasilnya?
EDIT
masalah terpecahkan! yang bermasalah itu proses convertion dari Pixbuf ke PIL, seharusnya begini:
Code:
# Converting Pixbuf to PIL
dimensions = image.get_width(), image.get_height()
stride = image.get_rowstride()
pixels = image.get_pixels()
mode = image.get_has_alpha() and "RGBA" or "RGB"
image = Image.frombuffer(mode, dimensions, pixels, "raw", mode, stride, 1)
[url]http://S E N S O R/fT8uxGri[/url]
Diubah oleh requnix 21-01-2015 16:43
0
814
2


Komentar yang asik ya
Urutan
Terbaru
Terlama


Komentar yang asik ya
Komunitas Pilihan