示例#1
0
    def __init__(self):
        super(mainwindow, self).__init__()

        self.runSM = threading.Event()
        self.handshakedone = threading.Event()
        self.SM = StateMachine.stateMachine(self.runSM, self.handshakedone)
        self.SM.daemon = True

        self.initUI()
示例#2
0
    def __init__(self, parent=None):
        self.runSM = threading.Event()
        self.handshakedone=threading.Event()
        self.SM = StateMachine.stateMachine(self.runSM,self.handshakedone)        
        QtGui.QWidget.__init__(self)
        self._capture = cv.CreateCameraCapture(0)
        
        if not self._capture:
            print "Error opening capture device"
            sys.exit(1)
# 

        # create storage
        self.storage = cv.CreateMemStorage(128)
        self.cascade = cv.Load('haarcascade_frontalface_default.xml')

        
        
        frame = cv.QueryFrame(self._capture)
        self.setMinimumSize(frame.width,frame.height)
        self.setMaximumSize(self.minimumSize())
 

        self.image_size = cv.GetSize(frame)
 
#         create grayscale version
        self.grayscale = cv.CreateImage(self.image_size, 8, 1)
        self.smallgray = cv.CreateImage((100,75),8,1)
        
        self.xscale = frame.width/self.smallgray.width
        self.yscale = frame.height/self.smallgray.height
        self.bestface = None
        
        self._frame = None
        self.detect(frame)
        self._image = self._build_image(frame)
        # Paint every 50 ms
        self._timer = QtCore.QTimer(self)
        self._timer.timeout.connect(self.queryFrame)

        
        self.runSM.set()
        self.SM.start()
        self.handshakedone.wait()
        self._timer.start(100)