Belajar Pengolahan Citra Digital Python dan OpenCV – Picture Viewer

By | January 14, 2021
Print Friendly, PDF & Email
1,775 Views

Sinopsis

Membahas mengenai pembuatan GUI di python sudah pernah kita bahas yaitu menggunakan TKinter ataupun PySimpleGUI. Bagi kalian yang ingin membuat GUI sederhana dan cepat, gunakan saja PySimpleGUI karena kode yang digunakan lebih sedikit dan nggak ribet mengatur layout nya. Nah kali ini kalian akan diajak untuk membuat picture viewer menggunakan PySimpleGUI. Untuk menampilkan gambar juga butuh library yang lainnya yaitu PIL, kalian bisa install dengan pip dengan perintah

pip install pillow

Tampilan Awal

 

Tampilan aplikasi pada saat menampilkan gambar

 

Kalian gunakan kode dibawah ini, oiya belum dilengkapi dengan teknik filtering extension ya, jadi bisa kalian coba saja sendiri

# -*- coding: utf-8 -*-
"""
Created on Sat Mar 21 22:17:33 2020

@author: Ghost
"""

import PySimpleGUI as sg
import glob
from PIL import Image, ImageTk
import io


#function yang digunakan untuk mengolah gambar
def get_img_data(f,first=False):
    """Generate image data using PIL
    """
    img = Image.open(f)
    [a,b,x,y]=img.getbbox()
    print(x,y)
    if (x>500 or y >500):
        x = 250
        y = 250
    maxsize = (x,y)
    img.thumbnail(maxsize)
    if first:                    
        bio = io.BytesIO()
        img.save(bio, format="PNG")
        del img
        return bio.getvalue()
    return ImageTk.PhotoImage(img)


image_elem = sg.Image() #untuk menampilkan gambar
tombol_cari = sg.Input(key='sumber_file',enable_events=True) #input ketika terjadi event
        
layout = [[sg.Text('File gambar')],      
          [tombol_cari,sg.FileBrowse('Cari file')], 
          [image_elem],
          [sg.Exit('Keluar')] ]      


window = sg.Window('Image Viewer-www.softscients.com',layout)

while True:
    event,values = window.Read()
    if event in (None,'Keluar'):
        break
    
    if event=='sumber_file':   #terjadi event     
        text_input = values['sumber_file']  #lokasi file      
        if text_input!='':       
            image_elem.update(data=get_img_data(text_input, first=True))
        else:
            pass

    
window.Close()

Aplikasi Picture Viewer sangat mudah dibuat menggunakan PySimpleGUI

Leave a Reply