I am very new to this topic:-
Suppose If I am using 3rd party finger print sdk,
The sdk will provide API's to read data?
After scan what data format the device will return, thumb image or
some index value?
Suppose if it is index value where it is stored the thumb images ,
how the device will identify the image after second scan?
The device itself using separate DB for storing the thumb images?
Can I expect above queries should be solved by device developer
manual?
Thanks,
Hemu
Three major operations need to be followed:
Capture : Captures the finger
Merge : Merges the three finger templates into one (to be used for recording the fingerprint first time)
Verify : Compare two fingerprint templates (merged one vs newly captured one) and return the score
Scanner doesn't return the index. It should be handled at your software during the capture. More workflow informations can be found at http://camsunit.com/application/html-based-fingerprint-scanner-for-website-authentication-and-attendance.html
Related
My company gave me a project to automate the distribution of OR (Official Receipt).
My task is to create an application where the user will encode the OR information and the application will then print the OR (via printer). My problem is, the paper they'll print it on already has the layout. All I need to do is embed the encoded values from my application into that layout with the correct coordinates.
How can I achieve this using .NET Framework?
I already tried searching for Graphic.DrawString, but my major problem is plotting the correct coordinates for each value.
Thank You.
Is the layout the users have the same for all users or can it change?
i.e.
If "Receipt#" is at location 20,20 on one clients receipt will it be at the same location on the rest?
If the same location - use trial and error as Tomek suggests, if it is not then you will need to have a program to scan the receipt to an image and then parse the image for the words you are after.
Are the data headings the same for all users or can that change too?
i.e.
Do all clients have Receipt# on their receipts or can another client have ReceptNo instead?
If this is the case you not only need to parse for the easy headings but you now need to parse for the text and understand it via mappings.
Unless you are really good with image manipulation/parsing you will need to load the receipts into an OCR tool, or better yet convert into a PDF. The PDF will hold the names of the text as well as the locations of the text as meta data and can be parsed into your mapping file.
I want my android application record live audio from microphone and add my own binary data as image frames. I will be recording board game and whole image can be saved to around 50 bytes. The content should be possible to stream online so I want to put the data to some standard media container.
I checked various classes but can't build it together.
In MediaRecorder and AudioRecord classes I miss functions to add any sort of special data / tracks.
In MediaMuxer I can't find on the other hand a way how to record live, seems to me it only combines existing tracks.
Am I missing something in classes mentioned above? Or can this thing be done with MediaCodec and MediaExtractor? I don't much understand how these should be used.
Link to existing code would be welcome, I can check on my own, I just don't know where to search for the answer.
We use QR codes on our products. Each QR code is virtually identical except for a unique serial number.
I'm writing a C# Win Form program for building product KITS. They then scan off each product within that KIT to complete the Order. Some KITS contain multiples of the same product. I want to prevent the user from simply scanning the same QR code for a product with multiples in a KIT.
I will be creating a database for this Win App to store which qr codes have been scanned off the total amount needed for the KIT.
To ensure that the same QR code isn't scanned, would I be correct in assuming I'd simply need to run a check against the serial numbers previously scanned in the database? If so, how is the most efficient way to do this?
Thanks
It depends how the QR Code is stored in your database and how each QR code differs. Is it stored as data/an image? What exact data is being encoded onto the QR code?
You mention that the QR codes are virtually identical, but they have a unique serial number. Is this serial number stored in the QR Code? If so then after decoding you can simply search for the serial number in the database.
As far as efficiency goes, use the unique serial number as the identifier column in your table. Then, either query for that serial number, and only approve the scan if the query does not return anything. It is not completely safe though, as once you're trying to write the value to the table, it may already have been written by a different caller.
On the other hand, if you have a unique constraint on the column, you can just attempt to insert the scanned serial number - and let it fail if it already exists.
If you have a single user/computer being used for scanning each kit, and the process of scanning each kit has a definitive beginning or ending, and the data being stored isn't massive, and each kit scanned will be scanned in a single session, I would store each item scanned in an in-memory collection until the entire kit is scanned, then write the completed kit to the database asynchronously.
You can check the each new code against the in-memory collection.
This helps to make sure you don't have partial collections (orphaned data) in the database.
Makes it much more efficient to remove erroneously scanned items.
I should develop an application that records and plays recorded video while recording continues (without stopping graph). I know how to use and develop using DirectShow but I need architecture of my graph. What filters should I use?
I did it with raw video using DirectShow and SampleGrabber but I should compress video and I have no idea how to do it in compressed video file (which is not closed, because recording continues).
I think MPEG-2 recording is the best for my application but please guide me about filters I should use.
Thanks
Have you tried the StreamBufferEngine?
Recording a file and watching it at the same time is a little bit problematic, because the Demuxer needs to reparse the written file, to know about the new parts. I have never seen an demuxer doing this.
The other big problem is the file-locking! The DirectShow filewriter and most other similar filters lock the file for the writing. So no other process can open the file for reading.
You are searching for a TimeShift system. There are some thirt-party SDK for this. But it can also be implemented with own DirectShow Filters, but you will need a lot of time and knowledge for this. I know it's possible because I have done it in the videoplayer from my company (utilius fairplay 5).
I worked on that issue for weeks, SBE does not work well in H264 mux in transport
I came up with a solution , let me share
First , the encoder need to have small GOP , like 15 , not 150, otherwise the sync will take time and it will seen as a big hang.
The idea is to create directshow filter , start from Live source filter
(https://www.codeproject.com/Articles/158053/DirectShow-Filters-Development-Part-2-Live-Source)
Modified the filter , not to enter the frame from external program.
add winsock2 , for UDP binding , or multicast group.
Start receive the data from live source and sample it out to the output pin.
Suggest always to use Elecard SDk for setup.
On the sender you can use nw renderer but there you cannot change the encoder GOP
so open graph edit and build the sender graph
desktop capture->encoder->mux->nwrenderer.
Your new filter should know to receive the data and display it on screen
once you have that working you can than continue add the timeshift capabilities into your filter.
Allocate a very big buffer , 200 mega to 1 giga , up to you( on ram ofcourse)
the same data that you send to the output pin , copy it into that buffer, make it circular with rd and wr indexes.
You need to add interface to your filter, functions like
1. GoLive
2.SetSeekPoint
The way i did it is the following
I created a callback from the filter into the host ( c# ) that send the time and the wr pointer every 1 second or more( depends on the accurate i need)
In the host i created a list of those two information.
Now in c# i have the list of the wr pointer and its time.
easy to search and set the RD pointer back to the filter.
The filter have two modes than:
1. in live it send the current received data
2. in seek it send the data from the big buffer , following the rd pointer.
Hope it understood.
I am designing a website for PUBLIC TRANSPORT TICKETING SYSTEM using ASP.NET c# and MSSQL..So when a customer registers in the site, I want to send SMS with a barcode to him to use that in the bus to validate him..
so in the bus there is KIOSK and also a barcode reader..When he get into the bus first he has to validate himself..
So i want to implement this : when the passenger shows the image of the barcode in his mobile the barcode should compare it with the database and if it's validated proceed if not give an error message..
plz consider my question and kind be enough to reply..
Thank alot..
Usually barcodes are compared as strings, not as images. Note that it's not recommended to store the barcode as image in the database. You simply can store the barcode value (string) in the database and compare it with the barcode recognition result.
We currently generate barcodes (Code 93) using a 3rd party toolkit named leadtools. This toolkit gives you the ability to read\write common barcodes. For more information, see the following link:
http://www.leadtools.com/help/leadtools/v175/dh/to/leadtools.topics.barcode~ba.topics.programmingwithleadtoolsbarcode.html
Barcodes are NOT generally implemented by image comparison.
Rather, the barcode evaluates to a string or number, which is then a PK into a backend database somewhere.
(Eg, check on any product in your kitchen pantry. The barcode will often have a human-readable version of the number that the barcode represents, written below the barcode).
You've specified there's a barcode reader in place... This will do the "heavy lifting" of reading the barcode and passing the resultant string/number into the system.