membuat aplikasi kamera python dengan pygame dan tkinter

BelajarPython - Assalamualaikum wr. wb.

Hallo.. Jumpa lagi temen - temen di blog saya.. Pada kesempatan kali ini saya akan mencoba untuk membuat aplikasi simpel nih.. Yang akan melkbatkan kamera laptop kalian.. Hehe Yuk langsung saja kita simak sama - sama postingan saya kali ini.. Let’s check it out temen - temen....

Pengenalan aplikasi yang akan kita buat.

Oke saya jelaskan lagi lebih rinci lagi ya aplikasi yang akan kita buat pada postingan kali ini.. Jadi, aplikasi yang akan kita buat kali ini merupakan sebuah aplikasi pengambil gambar.. Atau pengambil foto.. Yang akan langsung tersimpan pada direktori kalian... Walaupun aplikasi ini tidak memiliki lanjutan untuk di tambah lagi fiturnya.. Karena, saya merasa kesulitan untuk mengembangkannya..

Aplikasi ini sebenarnya sangat minim fitur.. Karena hanya bisa mengambil gambar saja.. Dan dengan tampilan grafik yang seadanya saja... ya tapi saya harap kalian bisa memaklumi ya..  Karena saya dan kalian semua masih belajar bersama - sama di blog ini.. hehe

Spesifikasi dan fitur aplikasi kamera di python.

Oya perlu kalian ketahui lagi.. Modul untuk membuat tampilan jam ini, saya menggunakan tkinter dan pygame... Untuk sekedar belajar atau membaca mengenai tkinter ini, kalian BISA KLIK DISINI. Dan untuk untuk instalasi pygame nya kalian BISA KLIK DISINI dan untuk lebih jelasnya mengenai aplikasi kali ini, simak penjabaran spesifikasi berikut ini ya temen - temen....

Nama: mn-kamera
Versi: 1.0
Platform: Python 3.x
Modul: Tkinter dan pygame. Klik disini untuk instalasi pygame.
Baris Code: kurang lebih 65 baris code program.
Fitur: mengambil gambar.
syarat menjalankan: install python 3.x dan pygame, punya editor teks atau IDE.
Cara menjalankan: install python 3 dan pygame, copy dan paste code program pada editor atau IDE, simpan dalam file python(ekstensi .py), lalu jalankan.

Code program untuk membuat aplikasi kamera pygame python.

Nah biar tidak lama - lama penasaran, yuk langsung saja simak sama - sama code program untuk membuat aplikasi dokumen editor ini... Silahkan di simak di bawah ini ya temen - temen.. Let’s check it out...


import pygame
import pygame.camera
from pygame.locals import *
from tkinter import  *

class kamera():
    def __init__(self):
        self.penghitung=1
        self.isi = StringVar()
        self.isi.set("Mulai")
        self.ucapan = StringVar()
        self.ucapan.set("Selamat Datang guys.... \n silahkan klik tombol 'mulai' untuk memulai kamera.. \n"
                          "silahkan tekan tombol 'spasi' untuk memotret.. \nsetelah memotret, "
                          "file akan tersimpan dengan nama 'capture.png' \ndi folder tempat file python yang anda simpan")
        self.petunjuk()
        self.tombolMulai()

    def tombolMulai(self):
        mulai = Button(textvariable=self.isi, command=self.jalankanKamera, bg='white', fg='blue', font = "Verdana 10 bold")
        mulai.pack()

    def petunjuk(self):
        self.teks = Label(textvariable=self.ucapan ,fg="white",bg="blue")
        self.teks.pack()
    def jalankanKamera(self):
        DEVICE = '/dev/video0'
        SIZE = (640, 480)
        FILENAME = 'capture'+str(self.penghitung)+'.png'
        pygame.init()
        pygame.camera.init()
        display = pygame.display.set_mode(SIZE, 0)
        camera = pygame.camera.Camera(DEVICE, SIZE)
        camera.start()
        screen = pygame.surface.Surface(SIZE, 0, display)
        pygame.display.set_caption("Kamera sederhana -> mn-belajarpython.blogspot.co.id")
        capture = True
        while capture:
            screen = camera.get_image(screen)
            display.blit(screen, (0,0))
            pygame.display.flip()
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    capture = False
                elif event.type == pygame.KEYDOWN and event.key == K_SPACE:
                    pygame.image.save(screen, FILENAME)
                    camera.stop()
                    pygame.quit()
                    self.isi.set('Mulai lLagi')
                    self.ucapan.set("Selamat...!! gambar anda telah tersimpan...\n"
                                        "dengan nama 'capture"+str(self.penghitung)+".png' silahkan di cek di \n"
                                        "folder tempat anda menyimpan file python nya..\n"
                                        "Untuk memulai untuk memotret lagi, silahkan tekan\n"
                                        "tombol 'mulai lagi' dan ingat tekan tombol 'spasi'\n"
                                        "untuk mengambil gambar.")
                    self.penghitung+=1
                    return
        camera.stop()
        pygame.quit()
        return

window = Tk()
window.title("Kamera -> mn-belajarpython.blogspot.co.id")
window.configure(background='light blue')
kamera()
mainloop()


Nah itu dia temen - temen code program nya..  Cukup pendek kan code programnya.. Dan tentu saja akan sangat mudah kalian pahami.. Heheh nah lalu sepertii apa ya temen - temen tampilan yang akan di hasilkan dari code program di atas? Nah, biar gak penasaran, langsung saja di simak gambar yang ada di bawah ini ya...


Nah itu dia temen - temen hasil dari code program di atas.. Dimana pada window dengan angka 1, merupakan window pertam yang akan muncul ketika kita jalankan programnya.. Dan window dengan no. 2 adalah window yang akan tampil ketika kita klik mulai pada window pertama... Dan jika kita tekan tombol spasi pada keyboard, maka foto akan di capture dan di simpan dalam folder yang sama dengan file python kalian... Dengan nama ‘capture.png’.

Penjelasan Code program untuk membuat aplikasi kamera.

nah pada bagian ini saya akan mencoba untuk menjelaskan code program yang telah saya bagikan diatas tadi yaa.. Hal ini saya lakukan agar kalian bisa memahami code program untuk membuat aplikasi kamera ini... Yuk tanpa lama - lama lagi langsung saja kita simak sama - sama penjelasan saya di bawah ini...


import pygame  //digunakan untuk mengimport modul pygame
import pygame.camera  //digunakan untuk mengimport modul camera dari librari pygame.
from pygame.locals import *  //digunakan untuk mengimport class ‘locals’ dari library pygame.
from tkinter import  *  //digunakan untuk mengimport librari tkinter.

class kamera():  //digunakan untuk membuat class dengan nama ‘kamera’. Yang akan digunakan untuk menampung semua code program untuk membuat kamera.
    def __init__(self):  //digunakan untuk sebagai konstruktor dari class ‘kamera’.
        self.penghitung=1  //digunakan untuk memberikan urutan foto pada nama
        self.isi = StringVar()  //mendefinisikan variabel isi yang digunakan sebagai isian dari teks tombol.
        self.isi.set("Mulai")  //mengubah nilai variabel ‘isi’ menjadi ‘mulai’.
        self.ucapan = StringVar()  /mendefinisikan variabel ‘ucapan’ yang akan digunakan sebagai kata petunjuk.
        self.ucapan.set("Selamat Datang guys.... \n silahkan klik tombol 'mulai' untuk memulai kamera.. \n"
                          "silahkan tekan tombol 'spasi' untuk memotret.. \nsetelah memotret, "
                          "file akan tersimpan dengan nama 'capture.png' \ndi folder tempat file python yang anda simpan")  //kata - kata ini digunakan sebagai petunjuk yang akan saya masukkan ke dalam window
        self.petunjuk()  //memanggil atau menjalankan metode dengan nama ‘petunjuk’
        self.tombolMulai()  //memanggil atau menjalankan metode dengan nama ‘tomboMulai’

    def tombolMulai(self):  //digunakan untuk membuat metode dengan nama ‘tombolMulai’. Yang akan berisi code untuk membuat tombol memulai kamera.
        mulai = Button(textvariable=self.isi, command=self.jalankanKamera, bg='white', fg='blue', font = "Verdana 10 bold")  //digunakan untuk membuat tombol yang ditampung ke dalam variabel ‘mulai’. Dengan settingan teks tombolnya dalah nilai yang ada pada variabel ‘self.isi’. Dan perintah ketika di klik adalah menjalankan metode ‘jalankanKamera’. Dan warna tombol nya ‘white’ atau putih. Warna fontnya ‘blue’ atau biru dan jenis font nya ‘verdana’ dengan ukuran 10 dan bold atau tebal.
        mulai.pack()  //memasukkan tombolnya ke dalam window.

    def petunjuk(self):  //digunakan untuk membuat metode dengan nama ‘petunjuk’. Yang dignakan untuk menampung pembuatan atau menampilkan teks petunjuk.
        self.teks = Label(textvariable=self.ucapan ,fg="white",bg="blue")  //membuat label sebagi yang di tampung kedalam variabel ‘teks’. Dengan settingan isi teks nya adalah teks yang ada di variabel ‘ucapan’. Dengan background white atau putih. Dan warna teks ‘blue’ atua biru.
        self.teks.pack()  //digunakan untuk memasukkan label ke window.

    def jalankanKamera(self):  //digunakan untuk membuat metode dengan nama ‘jalankanKamera’ yang tentu saja digunakan untuk menampung code program untuk membuka kamera.
        DEVICE = '/dev/video0'  //digunakan untuk mendefinisikan parameter untuk menampilkan window pygame.
        SIZE = (640, 480)  //menentukan ukuran window kamera
        FILENAME = 'capture’+str(self.penghitung)+’.png'  //mendefinisikan nama file untuk menyimpan foto hasil capture.
        pygame.init()  //menginisialisasi pygame.
        pygame.camera.init()  //memanggil inisialisasi kamera dari pygame
        display = pygame.display.set_mode(SIZE, 0)  //digunakan untuk menampilkan window pygame nya.
        camera = pygame.camera.Camera(DEVICE, SIZE)  //menginisialisasikan kamera dari modul pygamenya
        camera.start()  //memulai untuk menjalankan kamera.
        screen = pygame.surface.Surface(SIZE, 0, display)  //memasukkan kamera ke dalam window pygame nya.
        pygame.display.set_caption("Kamera sederhana -> mn-belajarpython.blogspot.co.id")  //digunakan untuk mengubah judul dari window kamera.
        capture = True  //mendefinisikan variabel boolean dengan nilai true
        while capture:  //melakukan perulangan dengan indikator variabel boolean ‘capture’.
            screen = camera.get_image(screen)  //mendapat gambar dari kamera
            display.blit(screen, (0,0))  //menampilkan hasil gambar ke layar kamera
            pygame.display.flip()  //menampilkan flip
            for event in pygame.event.get():  //mendapatkan setiap event atau masukan dari user
                if event.type == pygame.QUIT:  //mengecek apakah event atau masukan merupakan penutupan window. Atau meng close window.
                    capture = False  //mengubah nilai variabel boolean ‘capture’ menjadi false.
                elif event.type == pygame.KEYDOWN and event.key == K_SPACE:  //mengecek apakah user menekan tombol ‘spasi’.
                    pygame.image.save(screen, FILENAME)  //menyimpan hasil gambar dari kamera dengan nama yang sudah ditentukan
                    camera.stop()  //menghentikan kamera
                    pygame.quit()  //menutup window pygame
                    self.isi.set('Mulai lLagi')  //digunakan untuk mengubah teks tombol menjadi ‘mulai lagi’.
                    self.ucapan.set("Selamat...!! gambar anda telah tersimpan...\n"
                                        "dengan nama 'capture”+str(self.penghitung)+”.png' silahkan di cek di \n"
                                        "folder tempat anda menyimpan file python nya..\n"
                                        "Untuk memulai untuk memotret lagi, silahkan tekan\n"
                                        "tombol 'mulai lagi' dan ingat tekan tombol 'spasi'\n"
                                        "untuk mengambil gambar")  //code ini digunakan untuk mengubah kotak petunjuk atau pesan
        self.penghitung+=1  //menambah nilai variabel ‘penghitung’ untuk nama gambar yang akan disimpan nantinya
                    return  //digunakan untuk mengakhiri metode ‘jalankanKamera’.
        camera.stop()   //digunakan untuk menghentikan kamera
        pygame.quit()  //menutup window pygame
        return //digunakan untuk mengakhiri metode 

window = Tk()  //digunakan untuk menampilkan window tkinter
window.title("Kamera -> mn-belajarpython.blogspot.co.id")  //digunakan untuk mengubah judul window tkinter.
window.configure(background='light blue')  //memberikan background biru pada window
kamera()  //digunakan untuk memanggil atau menjalankan class ‘kamera’

mainloop()  //digunakan agar window yang tampil tidak langsung close.


nah itu dia temen - temen penjelasan dari code program diatas.. Semoga penjelasan yang sudah saya berikan tadi dapat sedikit membantu penjelasan code program untuk membuat aplikasi kamera kali ini ya...



Dan itu dia temen - temen cara untuk membuat aplikasi kamera yang sangat sederhana ini.. Semoga apa yang telah saya sampaikan di atas dapat memberikan manfaat bagi kalian yaa... Dan tentu saja saya harap dapat menjadikan referensi untuk membuat sebuah produk atau untuk belajar python..

Oke sampai disini dulu ya temen - temen bahasan pada postingan saya kali ini,, jangan lupa baca tutorial menarik lainnya ya.. Dan jangan lupa berkomentar atau berikan masukan atau kritikan kalian ya... Terimakasih.. Sampai jumpa di tutorial yang lainnya ya...

Wassalamualaikum wr.wb.
Previous
Next Post »
Thanks for your comment