Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

State ID Scanner Help

Status
Not open for further replies.

TinyNinja

Programmer
Oct 1, 2018
99
US
Hello everyone!

I am in the middle of creating a visitor check in system. I have a form that pops up and my staff enters in all the visitors that come in and out of the building. I have a USB ID scanner and want to put the ability for my staff to just swipe all the ID’s whether it be an employee ID or a Driver License. I have a few examples of ID’s from different states but wanted to know if someone knows where I can look to find out how all the information is sparse into its own category. Or does someone have an example how they did this?
My goal is to speed up the check-in time, so visitors don’t have to spend long at the front desk. Any help will be greatly appreciated! Thank you!
 
TinyNinja,
There is another approach, though it does require some work (similar issue took me about 2 months to perfect). When you say "ID Scanner", do you mean a card scanner that literally scans (takes an image) of the card?
If so, you can treat this as unstructured data. Use the image scan to OCR the text, and then create a routine to parse the data. This is very complicated, but it will make the data entry quite fast. If you want some ideas on how to go about parsing the data, I can help you with that.


Best Regards,
Scott
MIET, MASHRAE, CDCP, CDCS, CDCE, CTDC, CTIA, ATS

"Everything should be made as simple as possible, and no simpler."[hammer]
 
A company I worked for as external created IDs with a simple EAN barcode and had some "blank" for visitors (of course with a barcode, but blank photo). It takes time to register a guest with name, but taking a photo might suffice for re-identification purposes, the barcode scan then shows the record of a registered ID or just the photo last made for a visitor ID. They printed IDs for regulars. The big advantage is quite an easy scanning and all information in one format as it's really vice versa, you create a person record as you want it and put its ID as the barcode.

Bye, Olaf.



Olaf Doschke Software Engineering
 
I have a few examples of ID’s from different states but wanted to know if someone knows where I can look to find out how all the information is sparse into its own category

Are you asking for the format of the driving licence number in each of the states? If so, that should be easily obtainable. Here is a page that gives exactly that information, for all 50 US states plus overseas territories and Canadian provinces.

Of course, you will still have to figure out the position of the number within the licence. That might be more difficult.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips and downloads
 
I looked at some products on a very popular shop site, and I find them advertised as knowing many ID formats. They make the impression if just being a scanner used by swiping ID cards, but in the end nothing but an image scanner.

I don't know if the advertised feature means the slot is just wide enough all formats fit or if there is software actually identifying the card type and pretrained to know what areas to OCR for name or id or photo or whatever single information from the image scans. As you already have such a device, have you looked at the software coming with it on top of the drivers?

Bye, Olaf.

Olaf Doschke Software Engineering
 
Thank you everyone for your helpful replies so far!

I should of clarified more my bad. I have a magnetic stripe ID swipe scanner. Something like this -
Mike thank you for that suggestion. That will help me out greatly. I also did find this link - - I have started to write a parsing portion based on this.

My ultimate goal would be to create a function or procedure that can account for all the different state ID formats. Take all that crazy numbers and give me the person's first name, last name, Date of birth, address and ID number.
 
Well, if you ever come up with a suitable solution, I'd imagine it would be a marketable product. You're surely not the only person with this sort of requirement.

Mike
P.S. Welcome to the forum.

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips and downloads
 
That is very true!

Thanks Mike! Appreciate that! I have read a lot of everyone's questions over the years and all your answers and pretty blown away with how strong the community is.

One more question. Am I able to write my program I am working on as a function or procedure in my visitor program? So that when my staff swipe the ID it can just call it or do I need to put the code in the actual form?
 
I don't know if that magnetic stripe contains all you'd like to read. It may only contain some IDs that similar to the barcode idea I know - only reidentify someone within a system that stores the detail.
It would obviously not be a security issue, if the magstripe would contain any or even all the info you can also see and read on the card itself - only in machine readable form, but just googling "magstripe capacity" I find such magstripes contain something in the magnitude of 140 Bytes - which already is called high-density storage.

This is what the data looks like if you make it visible with iron powder:
magstripe_aa7exg.jpg


You can see the bits, they have a macroscopic size, perhaps just double or triple as dense as barcode lines. You don't get a full record of all data an ID card is associated within 140 Bytes. At most some data is on there, but mainly just the same idea of an id number that's a reference to a record, from which an ATM can see to which account that card belongs and similar etc, but since you're not the bank you only have this code and not the info associated with this. Besides magstripes are more and more replaced by chips, so perhaps that's not an idea with a bright future.

Bye, Olaf.

Olaf Doschke Software Engineering
 
Olaf you definitely make good points and I think the mag-stripe will be gone in the near future but for the moment it will help my team speed up the process. I have ran into an issue where some state IDs don't give much info and can't be used for my system.

I think the image ID scanner will be the future more in the coming year. Does anyone know what I could use to pull the info off from the image with? Anything cheap or free/open source?
 
TinyNinja,
As I mentioned, image processing and especially parsing of unstructured data can be done, but it will require doing a lot of work. If the magstripe is replaced with something like a QR code or barcode, (not much help if it just contains an ID number), you can use an image scanner that supports TWAIN and something like EZTwain. EZTwain has both a "free" and paid version. We have the full license which cost about $1,000 but it is unlimited and distributable not just for VFP but for any of the code base it supports (C, C++, VB, Delphi, etc). But that's only half the equation. The other part you need is the ability to process the image. In this case OCR, which is also needed for barcode reading. For that we use Transym OCR (TOCR), though this has a per-seat license fee, around $60. While pricey, you get what you pay for with these solutions. There is no free version of TOCR other than a trial that allows 50 scans (OCR calls) for testing.
While this is a lot of work, it gives you a lot of control as well. It may be easier to process data based on the state in this case, at most you have 50 formats,and then you can treat it as structured data instead of unstructured which is far easier to identify and parse.
It's well worth the effort especially if you want to market it as a product.


Best Regards,
Scott
MIET, MASHRAE, CDCP, CDCS, CDCE, CTDC, CTIA, ATS

"Everything should be made as simple as possible, and no simpler."[hammer]
 
Regarding the choice between a function / procedure or part of a form, this is not something the staff should be concerned with - or even aware of.

If you have a form whose main job is to scan and interpret the card, and if those processes are only done in that form, then the process should be part of the form, probably in a custom form method. But if the scanning is something that will be called from different parts of the application, then it would make sense to put it in a free-standing function or procedure. Or, it might be appropriate to create a class whose only job is to handle the scanning and related tasks, and to call methods of the class whenever needed.

But from what you have said so far, I would think the process would be specific to the form, and should therefore me a method of that form.

Mike



__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips and downloads
 
Thank you Scott & Mike for being very helpful!

I looked at EZTwain and wasn't able to download the free version. I clicked on the link and nothing happened. I was just sent to the another page talking about the PRO version. Does anyone have the zip file so I can test it out?

I think I will just create the parsing from scratch because I haven't been given much of a budget to work with to purchase anything.
 
TinyNinja,
Just scanning the image won't be enough to allow you to parse it. You will have to have an OCR engine as well. While I've only worked with TOCR, one of the main reasons for that is its VERY seamless integration with EZTwain. The two have worked together to make them work well. The TOCR license is about $60 if I remember correctly, but must be purchased for each machine that uses it. Since your ID Scanner sounds like it's only a few users, that shouldn't break the bank. It doesn't need a seperate license per user, only per machine.

The parsing can be very tricky. And to add to Mike's point, from experience on that, most definitely you want this to be a seperate function (in reality, set of functions) if you have to do free-form parsing. When you get to that point, let us know, and I'll try to help guide you on it. It's daunting. I remember starting with this whole concept, and no idea how to make it happen. Did a lot of things the hard way to start out. But still, first got the image scanning working, then the size and color, then OCR. That took a couple weeks. Then the parsing of the data. That took a couple months. THe hard part is figuring out how you can identify data that can literally be anywhere, in any order on the card.

You also will want to consider your scanning device. We went with a Canon P208-II. It's small, light, we can travel with it, a very hearty device, but the main reason we went with it is, it can scan both sides of the card/page at the SAME TIME. One pass, and you get both images as separate images, and those can be OCRD into 1 or seperate fields as well. That was really handy.


Best Regards,
Scott
MIET, MASHRAE, CDCP, CDCS, CDCE, CTDC, CTIA, ATS

"Everything should be made as simple as possible, and no simpler."[hammer]
 
Thank you Scott I appreciate that! I will post again when I get the equipment needed to play with.

Thank you everyone!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top