コード例 #1
0
ファイル: fprint.py プロジェクト: dpeinado/restec
def _find_printreader():
    global FingerDevice
    dialog = None
    while not FingerDevice:
        devs = pyfprint.discover_devices()
        if len(devs) == 0:
            if not dialog:
                msg = 'Fingerprint scanner not found'
                dialog = gtk.MessageDialog(type = gtk.MESSAGE_WARNING,
                                           message_format = msg)
                dialog.set_modal(True)
                dialog.show()
        else:
            FingerDevice = devs[0]
            break
        glib.timeout_add_seconds(1, done_waiting)
        gtk.main()

    FingerDevice.open()
    if not FingerDevice.supports_identification():
        raise "Device cannot do identification"
    #print "Found a " + FingerDevice.driver().full_name()
    if dialog:
        dialog.hide()
        dialog.destroy()
コード例 #2
0
def _find_printreader():
    global FingerDevice
    dialog = None
    while not FingerDevice:
        devs = pyfprint.discover_devices()
        if len(devs) == 0:
            if not dialog:
                msg = 'Fingerprint scanner not found'
                dialog = gtk.MessageDialog(type=gtk.MESSAGE_WARNING,
                                           message_format=msg)
                dialog.set_modal(True)
                dialog.show()
        else:
            FingerDevice = devs[0]
            break
        glib.timeout_add_seconds(1, done_waiting)
        gtk.main()

    FingerDevice.open()
    if not FingerDevice.supports_identification():
        raise "Device cannot do identification"
    #print "Found a " + FingerDevice.driver().full_name()
    if dialog:
        dialog.hide()
        dialog.destroy()
コード例 #3
0
def authenticate_from_disk():
    """
    Authenticate single user from data stored in his home directory
    :return: Boolean
    """

    # Initialize things
    pyfprint.fp_init()
    devs = pyfprint.discover_devices()
    dev = devs[0]
    dev.open()
    fprint = dev.load_print_from_disk(pyfprint.Fingers['RIGHT_INDEX'])

    print("Verifying...\nSwipe your finger across the sensor to proceed")
    verified, img = dev.verify_finger(fprint)

    if verified:
        print("Authenticated!")
    else:
        print("Authentication failed")
    if img is not None:
        img.save_to_file('verify.pgm')
        print("Wrote scanned image to verify.pgm")

    # Closing formalities
    dev.close()
    pyfprint.fp_exit()
	def init_pyfprint(self, devs_combo):
		pyfprint.fp_init()

		self.devs = pyfprint.discover_devices()
		dev_list = gtk.ListStore(gobject.TYPE_STRING)
		for x in range(len(self.devs)):
			dev_list.append([self.devs[x].get_driver().get_full_name()])
		devs_combo.set_model(dev_list)
		devs_combo.set_active(0) #open the first device found
コード例 #5
0
    def init_pyfprint(self, devs_combo):
        pyfprint.fp_init()

        self.devs = pyfprint.discover_devices()
        dev_list = gtk.ListStore(gobject.TYPE_STRING)
        for x in range(len(self.devs)):
            dev_list.append([self.devs[x].get_driver().get_full_name()])
        devs_combo.set_model(dev_list)
        devs_combo.set_active(0)  #open the first device found
コード例 #6
0
ファイル: login.py プロジェクト: ivan3101/fprint-python
def verify_identity(huella):
    pyfprint.init()
    fp_reader = pyfprint.discover_devices()[0]
    finger = pyfprint.Fprint(huella)
    print('Deslice su dedo por el lector para verificar su identidad')
    fp_reader.open()
    is_verified = fp_reader.verify_finger(finger)[0]
    fp_reader.close()
    pyfprint.exit()
    return is_verified
コード例 #7
0
ファイル: finger-manager.py プロジェクト: pars-linux/uludag
    def _initFprint(self):
        """Start the fprint class and discover devices."""
        pyfprint.fp_init()
        self.__devices = pyfprint.discover_devices()
        print "Dev: " + str([x.get_driver().get_full_name() for x in self.__devices])
        if self.__devices == []:
            QMessageBox.warning(self, "Okuyucu bulunamadi.", "Bilgisayarinizda\
 bir parmakizi okuyucu bulunamadigindan parmakizi tanitma ve deneme islemleri \
gerceklestirilemeyecek.")
        else:
            self.__device = self.__devices[0]
コード例 #8
0
def get_finger():
    fp_reader = pyfprint.discover_devices()[0]

    fp_reader.open()

    print(
        "Se procedera a escanear su dedo. Debera deslizar su dedo por el escaner hasta que se le indique"
    )
    finger = fp_reader.enroll_finger()

    fp_reader.close()

    return finger
コード例 #9
0
def capture():
    """
    Takes care of enrolment of individual fingerprints. The right index finger is used here.
    The biometrics data is stored in the database along with the username of the person
    """

    print("To proceed with your fingerprint enrolment\n")
    username = input(
        "Please enter your username: "******"Enrolling...\n\n")
    print("Please swipe your RIGHT INDEX finger on the sensor 5 times")
    fprint, img = dev.enroll_finger(
    )  # Fingerprint data is retried along with the image which can be used to update a GUI

    fprint.save_to_disk(pyfprint.Fingers['RIGHT_INDEX'])
    if img is not None:
        img.save_to_file('enrolled.pgm')
        print("Wrote scanned image to enrolled.pgm")

    # Connect database
    fdb = sqlite3.connect(DB_FILE)

    # Work on the database object
    with fdb:
        cur = fdb.cursor(
        )  # The cursor is used by python to address a table in the database
        cur.execute(
            "CREATE TABLE IF NOT EXISTS biometric (username, finger_p BLOB)")
        if fprint is not None:
            b_fp = fprint.data().encode(
                'utf8', 'surrogateescape'
            )  # Convert to binary data for onward storage in db
            cur.execute(
                "INSERT INTO biometric(username, finger_p) VALUES(?, ?)", (
                    username,
                    sqlite3.Binary(b_fp),
                ))
            print("Fingerprint Successfully enrolled! Thank you!")
        else:
            print("finger print not properly captured!")

    # Closing formalities
    dev.close()
    pyfprint.fp_exit()
コード例 #10
0
    def cargar_info_dispositivo(self):
        self.fingerdevs = pyfprint.discover_devices(
        )  #Finds all the connected devices
        if not self.fingerdevs:
            dlgError(
                self.ventana,
                "No hay un escaner de huellas digitales conectado al equipo",
                trace=False)
            self.dlgCliente.destroy()
            return

        self.dispositivo = self.fingerdevs[0]
        self.dispositivo.open()
        self.txtInfoDispostivo.set_text(self.dispositivo.driver().full_name())
コード例 #11
0
    def _initFprint(self):
        """Start the fprint class and discover devices."""
        pyfprint.fp_init()
        self.__devices = pyfprint.discover_devices()
        print "Dev: " + str([x.get_driver().get_full_name() for x in self.__devices])
        if self.__devices == []:
            QMessageBox.warning(
                self,
                "Okuyucu bulunamadi.",
                "Bilgisayarinizda\
 bir parmakizi okuyucu bulunamadigindan parmakizi tanitma ve deneme islemleri \
gerceklestirilemeyecek.",
            )
        else:
            self.__device = self.__devices[0]
コード例 #12
0
def capture_to_disk():
    """
    Enrolls a single user and saves his data in his home directory
    :return: None
    """
    # Intialize things
    pyfprint.fp_init()
    devs = pyfprint.discover_devices()
    dev = devs[0]  # Select the first device found
    dev.open()
    print("Enrolling...\n")
    print("Please swipe your RIGHT INDEX finger 5 times on the sensor\n")
    fprint, img = dev.enroll_finger()
    if fprint is not None:
        fprint.save_to_disk(pyfprint.Fingers['RIGHT_INDEX'])
        print("Successfully enrolled!")
    if img is not None:
        img.save_to_file('enrolled.pgm')
        print("Wrote scanned image to enrolled.pgm")
    dev.close()
    pyfprint.fp_exit()
コード例 #13
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import print_function
import pyfprint

pyfprint.fp_init()
devs = pyfprint.discover_devices()
dev = devs[0]
dev.open()
if dev.supports_imaging():
    img = dev.capture_image(True)
    img.save_to_file('finger.pgm')
    img.standardize()
    img.save_to_file('finger_standardized.pgm')
else:
    print("this device does not have imaging capabilities.")
dev.close()

pyfprint.fp_exit()
コード例 #14
0
 def __init_finger_print_device(self):
     try:		
         pyfprint.fp_init()
         self.__dev = pyfprint.discover_devices()[0]
     except:
         self.__dev = None
コード例 #15
0
 def __init_finger_print_device(self):
     try:
         pyfprint.fp_init()
         self.__dev = pyfprint.discover_devices()[0]
     except:
         self.__dev = None
コード例 #16
0
def authenticate():
    pyfprint.fp_init()  # Initialize the fingerprint library
    devs = pyfprint.discover_devices()
    dev = devs[0]  # Select the first device detected
    dev.open()

    # Connect to the database database
    fdb = sqlite3.connect(DB_FILE)
    users = []
    gallery = []

    print(
        "To gain access, we have to verify you are authorized using the biometric system\n"
    )

    with fdb:
        cur = fdb.cursor()

        # Check that the table is already created. if not, it means no enrolment has been made so far
        # The function will return immediately
        cur.execute(
            "SELECT name FROM sqlite_master WHERE type='table' AND name='biometric'"
        )
        if not cur.fetchone():
            print("No data in database yet. Please enroll first")
            return

        # Query the database for all entries, storing them in a vector list (users and gallery)
        cur.execute("SELECT username, finger_p FROM biometric")
        for row in cur.fetchall():
            fp_str = row[1].decode(
                'utf8', 'surrogateescape')  # Decode binary data from db
            data = pyfprint.pyf.fp_print_data_from_data(fp_str)
            gallery.append(pyfprint.Fprint(data_ptr=data))
            users.append(row[0])

        # After querying the database, proceed to ask for users finger swipe
        print(
            "To proceed, please swipe your RIGHT INDEX finger on the sensor...\n"
        )

        # Verification is done here
        # Checks to see if the users fingerprint match any of those retrieved from database
        n, fprint, img = dev.identify_finger(gallery)
        print("Authenticating...")

    if fprint:
        print("Authenticated! {0}".format(users[n]))  # User is authenticated
        result = True
    else:
        print("Authentication Failed")  # User not authenticated
        result = False

    # verified, img = dev.verify_finger(fprint)
    # if verified:
    #     print("Welcome, {0}".format(username))
    # else:
    #     print("Sorry! You are not allowed here!")

    # if img is not None:
    dev.close()
    pyfprint.fp_exit()
    return result