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()
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)