italia / cie-nis-python-sdk

SDK for reading the NIS code from an Italian Electronic Identity Card (CIE) using Python
BSD 3-Clause "New" or "Revised" License
30 stars 10 forks source link

Immagine jpeg non visualizzabile. #13

Open paoloros97 opened 1 year ago

paoloros97 commented 1 year ago

Salve, lo script di prova sembra funzionare, vengono letti Nome, Cognome, CF, Residenza etc.. L'immagine però non la si riesce a visualizzare, sembra che non venga salvata propriamente. Ho provato a cambiare l'estensione da .jpeg a .jpg ma nulla.

ImmErr

paoloros97 commented 1 year ago

Ho risolto. Basta fare la conversione da jpeg 2000 a png.

main.py modificato:

#!/usr/bin/env python
# coding=utf-8
import random
import cv2 #install with: pip install opencv-python

from pkg.lib.CIEInterface import CIEInterface

__author__ = "Alekos Filini, Daniela Brozzoni"
__license__ = "BSD-3-Clause"
__version__ = "1.0"
__status__ = "Develop"

def hide_sensitive_data(string, chance=0.50):
    return ''.join([s if random.random() > chance else '*' for s in list(string)])

def main():
    print ('\n                ██████╗██╗███████╗██████╗ \n' \
          '               ██╔════╝██║██╔════╝╚════██╗\n' \
          '               ██║     ██║█████╗   █████╔╝\n' \
          '               ██║     ██║██╔══╝   ╚═══██╗\n' \
          '               ╚██████╗██║███████╗██████╔╝\n' \
          '                ╚═════╝╚═╝╚══════╝╚═════╝ \n')

    interface = CIEInterface()
    NIS_number = interface.readNIS()
    print(NIS_number)

    interface.mrtdAuth('000000', '000000', 'AA00000AA') #CIEInterface.mrtdAuth(birthStr, expireStr, pnStr) YYMMDD
    interface.extractPhoto()
    image = cv2.imread('img.jpeg')
    cv2.imwrite('img.png', image)

    # data = interface.extractData()

    # print ('Nome e cognome: {}\n' \
    #       'Codice fiscale: {}\n' \
    #       'Residenza: {}\n' \
    #       'Luogo di nascita: {}\n' \
    #       'Data di nascita: {}\n\n' \
    #       'MRZ: {}' \
    #     .format(data['additional_details']['full_name'].replace('<<', ' '),
    #             data['additional_details']['vat_code'],
    #             #hide_sensitive_data(data['additional_details']['address'].replace('<', ' ')),
    #             data['additional_details']['address'].replace('<', ' '),
    #             data['additional_details']['birth_place'].replace('<', ' '),
    #             data['additional_details']['birth_date'],
    #             data['mrz']))

    # print('Immagine salvata in: img.jpeg')

if __name__ == "__main__":
    main()