Lecture carte identité (Belge)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Lecture carte identité (Belge)

Message par microdevweb »

Bonjour à tous,

Et bien voila je doit lire les données d'un carte d'identité Belge (normalement en Windev)
Nom
Prenom
Adresse
N° National
Photo

Si quelqu'un a déjà fait ce genre de chose merci.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Lecture carte identité (Belge)

Message par Kwai chang caine »

Je crois que opencv embarque un ocr, il y a peut être quelque chose à creuser de ce côté là :wink:
http://www.purebasic.fr/english/viewtop ... 02#p431302
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Lecture carte identité (Belge)

Message par microdevweb »

Bonjour Kwai chang caine,

J'ai trouvé une dll je teste
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Lecture carte identité (Belge)

Message par falsam »

@Kwai chang caine: Microdev cherche à lire des informations stockées sur une CNI Belge. Pour Cela il va plutot utiliser swelio une dll dédié à ce type de carte
http://delphi32.blogspot.fr/2013/12/int ... y-for.html
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Lecture carte identité (Belge)

Message par Kwai chang caine »

Ah!!! je croyais qu'il voulait la lire "visuellement" :oops:
C'est une histoire de lecture de puce comme nos permis de conduire, un truc comme ça ?
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Lecture carte identité (Belge)

Message par microdevweb »

Bon voila tout fonctionne (en windev)... Pour Pb la je sais pas encore comment faire, mais de toute façon je devais le faire en Windev donc youpiiiiiiii
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Lecture carte identité (Belge)

Message par falsam »

Content que ton souci soit réglé Microdev et merde pour ton rdv :)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Lecture carte identité (Belge)

Message par microdevweb »

Bon j'ai essayer de faire la même chose en Pb, et la tout fonctionne sauf l'image

La dll il faut prendre swelio https://onedrive.live.com/?id=B4508367F ... ion=locate

Voici le code

Code : Tout sélectionner

Global gDllName$="Swelio32.dll"
If OpenLibrary(0,gDllName$)=0
      MessageRequester("Erreur Dll","Canot open "+gDllName$)
      End
EndIf
If Not CallFunction(0,"StartEngine")
      MessageRequester("Erreur Dll","Canot run engine "+gDllName$)
      End
EndIf
If Not CallFunction(0,"IsCardPresentEx",0)
      MessageRequester("Erreur carte","Aucune carte d'indentité n'a été identifiée"+gDllName$)
      End
EndIf
Structure Identity
      CardNumber.s{13}
      ChipNumber.s{33}
      BeginValidity.s{11}
      EndNalidity.s{11}
      Contry.s{81}
      NationalNumber.s{12}
      Name.s{111}
      FirstNameOne.s{96}
      FistNameTwice.s{4}
      Nationality.s{86}
      BirthLocation.s{81}
      BirthDate.s{13}
      Sex.s{2}
      NobleCondition.s{51}
      DocumentType.i
      WhiteCane.b
      YellowCane.b
      ExtendMinority.b
EndStructure
Structure Adress
       Street.s{81}
       zipCode.s{5}
       contry.s{68}
 EndStructure
 Structure Picture
       Picture.s{4097}
       LenPicture.q
 EndStructure
 Global myIdentity.Identity,myAdress.Adress,myPicture.Picture
 ;Global *myPicture
If Not CallCFunction(0,"StartEngine")
      MessageRequester("Erreur lecture carte","Impossible de démaré la Dll")
      End
EndIf
If Not CallCFunction(0,"IsCardPresent",0)
      MessageRequester("Erreur lecture carte","Aucune carte n'a été détéctée")
      End
EndIf
If Not CallFunction(0,"ReadIdentityA",@myIdentity)
      MessageRequester("Erreur lecture carte","Impossible de lire l'identité")
      End
EndIf
If Not CallFunction(0,"ReadAddressA",@myAdress)
      MessageRequester("Erreur lecture carte","Impossible de lire l'adresse")
      End
EndIf
If Not CallFunction(0,"ReadPhotoEx",0,@myPicture)
      MessageRequester("Erreur lecture carte","Impossible de lire la photo")
      End
EndIf
CallFunction(0,"StopEngine")
CloseLibrary(0)
Debug myPicture\LenPicture ; Renvoie 51539607552
Debug myPicture\Picture ; Renvoie ÿØÿà
Flag=#PB_Window_SystemMenu|#PB_Window_ScreenCentered
LoadFont(0,"Arial",12,#PB_Font_HighQuality)
Debug  CatchImage(0,@myPicture\Picture)

OpenWindow(0,0,0,800,600,"Lecture carte d'indentité",Flag)
M=10
W=(WindowWidth(0)-(M*3))/4
H=30
X=M
Y=M
TextGadget(0,X,Y,W,H,"Nom :")
X+W
StringGadget(1,X,Y,W,H,myIdentity\Name,#PB_String_ReadOnly)
X+W+M
TextGadget(2,X,Y,W,H,"Prénom :")
X+W
StringGadget(3,X,Y,W,H,myIdentity\FirstNameOne,#PB_String_ReadOnly)
X=M
Y+H+M
TextGadget(4,X,Y,W,H,"Numéro national :")
X+W
StringGadget(5,X,Y,W,H,myIdentity\NationalNumber,#PB_String_ReadOnly)
X+W+M
TextGadget(6,X,Y,W,H,"Date de naissance :")
X+W
Date$=Right(myIdentity\BirthDate,2)+"/"+Mid(myIdentity\BirthDate,5,2)+"/"+Left(myIdentity\BirthDate,4)
StringGadget(7,X,Y,W,H,Date$,#PB_String_ReadOnly)
Wl=(WindowWidth(0)-(M*2))-W
X=M
Y+H+M
TextGadget(8,X,Y,W,H,"Adresse :")
X+W
StringGadget(9,X,Y,Wl,H,myAdress\Street,#PB_String_ReadOnly)
X=M
Y+H+M
TextGadget(10,X,Y,W,H,"Code postal :")
X+W
StringGadget(11,X,Y,W,H,myAdress\zipCode,#PB_String_ReadOnly)
X+W+M
TextGadget(12,X,Y,W,H,"Localité :")
X+W
StringGadget(13,X,Y,W,H,myAdress\contry,#PB_String_ReadOnly)
Y+H+M
; ImageGadget(14,X,Y,256,256,ImageID(*myPicture))
For N=0 To 13
      SetGadgetFont(N,FontID(0))
Next
Repeat
      Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow

Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Répondre