class Capturador: def __init__(self): self.config = Configuration("./resources/prueba.xml") self.prefDialog = PreferencesDialog(self.config) self.faceSign = FaceSignature() self.captureDevice= CaptureDevice(self) self.MW = MainWindow(self) self.setCaptureDevice() self.MW.mainWindow.show() gtk.main() def openPreferencesDialog(self, tab=0): cameraAux = self.config.cameraDevice self.prefDialog.preferencesDialog.run() self.prefDialog.preferencesDialog.hide() if self.config.cameraDevice!=cameraAux: self.setCaptureDevice() def setCaptureDevice(self): try : self.captureDevice.setCaptureParameters(self.config.cameraDevice, self.config.cascadeFile) except CaptureDeviceParametersException ,e: self.MW.exceptionMessageDialog("Errores en dispositivo de captura", e.__str__()) self.openPreferencesDialog(0)
def __init__(self): self.config = Configuration("./resources/prueba.xml") self.prefDialog = PreferencesDialog(self.config) self.faceSign = FaceSignature() self.captureDevice= CaptureDevice(self) self.MW = MainWindow(self) self.setCaptureDevice() self.MW.mainWindow.show() gtk.main()
def CountCoins(img, cimg): circles = None try: circles = cv2.HoughCircles(img,cv2.HOUGH_GRADIENT,1,20, param1=50,param2=30,minRadius=0,maxRadius=0) except: circles = cv2.HoughCircles(img, cv.CV_HOUGH_GRADIENT,1,20,param1=50,param2=30,minRadius=0,maxRadius=0) if(circles == None): return circles = np.uint16(np.around(circles)) for i in circles[0, :]: # draw the outer circle cv2.circle(cimg, (i[0], i[1]), i[2], (0, 255, 0), 2) # draw the center of the circle cv2.circle(cimg, (i[0], i[1]), 2, (0, 0, 255), 3) if __name__ == "__main__": captureDevice = CaptureDevice.CaptureDevice(sys.argv[1], sys.argv[2]) while(True): img = captureDevice.GrabFrame(True) img = cv2.medianBlur(img, 5) cimg = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) CountCoins(img, cimg) cv2.imshow('detected circles',cimg) if (cv2.waitKey(1) and 0xFF == ord('q')): break cv2.destroyAllWindows()