| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 
 | import cv2
import numpy as np
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
from Tkinter import *
from PIL import Image
from PIL import ImageTk
import tkFileDialog
from tkMessageBox import *
 
 
 
def live():
 
        # grab a reference to the image panels
        global panelA, panelB
 
        cap = cv2.VideoCapture(0)
        print "Coucou1"
        while 1:
 
                ret, image = cap.read()
                gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
                image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
 
                retval, threshold = cv2.threshold(gray, 40, 255, cv2.THRESH_BINARY)
 
                # convert the images to PIL format...
                image = Image.fromarray(image)
                threshold = Image.fromarray(threshold)
                print "Niveau 1"
 
                # ...and then to ImageTk format
                image = ImageTk.PhotoImage(image)
                threshold = ImageTk.PhotoImage(threshold)
                print "Niveau 2"
 
 
		# if the panels are None, initialize them
                if panelA is None or panelB is None:
			# the first panel will store our original image
                        panelA = Label(image=image)
                        panelA.image = image
                        panelA.pack(side="left", padx=10, pady=10)
 
			# while the second panel will store the edge map
                        panelB = Label(image=threshold)
                        panelB.image = threshold
                        panelB.pack(side="right", padx=10, pady=10)
                        print "Niveau 3"
 
		# otherwise, update the image panels
                else:
			# update the pannels
                        panelA.configure(image=image)
                        panelB.configure(image=threshold)
                        panelA.image = image
                        panelB.image = threshold
                        print "Niveau4"
 
 
 
                print "Niveau 5"
                k = cv2.waitKey(30) & 0xff
                if k == 27:
                        print "Au revoir3"
                        break
 
        cap.release()
        cv2.destroyAllWindows()
 
# initialize the window toolkit along with the two image panels
root = Tk()
 
panelA = None
panelB = None
 
# create a button, then when pressed, will trigger a file chooser
# dialog and allow the user to select an input image; then add the
# button the GUI
btn = Button(root, text="Demarrer le programme", command=live)
btn.pack(side="bottom", fill="both", expand="yes", padx="10", pady="10")
 
# bouton de sortie
bouton=Button(root, text="Fermer", command=root.destroy)
bouton.pack()
 
# kick off the GUI
root.mainloop() | 
Partager