Rhonda Software

Highest quality full cycle software development.

Expert in areas of Computer Vision, Multimedia, Messaging, Networking and others. Focused on embedded software development. Competent in building cross-platform solutions and distributed SW systems.

Offer standalone custom solutions as well as integration of existing products. Opened for outsourcing services.

Visit us at: http://www.rhondasoftware.com

USD banknotes recognition

Posted on : 15-12-2009 | By : Yuri Vashchenko | In : Demo, Demo video, Demo videos, OpenCV, YouTube


The currency recognition demo application works under Windows XP, Intel P4 3GHz. Quality of recognition: 85%. The solution is cross-platform. The application was tested on Linux, ARM11 and on Linux/Windows, Intel Atom.

Comments (11)

I’m interesting in the part of move recognition, but I need information about it, please help me with documentation at moonsadly@gmail.com

Is like the program mark your hand in the video

Hi Mishudark,

Could you please clarify what exactly do you need? What do you mean by a “move recognition”?
And what kind of documentation are you looking for?


Hello this is Faiz, I am an under grad student trying to implement image processing. My project is dealing with bank note reconnation, I am using SURF features, but I need some help or some algorithm that I can take multiple images and compare with the reference image. For more information, please email me back at faiz_zaman303@yahoo.com

Hi Faiz Zaman,

We don’t share our know-how as per our internal policy.


I would like to know what are the performance of this application under ARM11 and Atom processor?

If it’s possible to view the same demo under this to platforms.

Best Regard’s

Hello AbdAllah,

Unfortunately, we do not have a demo you asked for that can be shared over the internet.

As for performance on ARM11 (we used Cortex A8) processor, I cannot give you the exact numbers, but our tests for the currency recognition module demonstrated the following results:
In average, it takes a few seconds to process 640×480 frame with the quality 90% or more. If the quality is not so important, it is possible to tweak algorithm parameters so it will work much faster but recognition rate will decrease.

On Intel Atom 330 processor it works about 2-4 times faster than on ARM11, but that’s really depend on specific processor optimizations and compiler (for instance, using SSE significantly improves performance).

Best Regards,

I would like to know how do you created the haarcascade for this recon.
I’m working in a project that I need recognize Brazillian notes, like this (http://www.google.com.br/images?q=nota%20de%205%20reais&oe=utf-8&rls=org.mozilla:pt-BR:official&client=firefox-a&um=1&ie=UTF-8&source=og&sa=N&hl=pt-BR&tab=wi&biw=1360&bih=547).
Can you explain me, do you use SURF or something like that?
I was trying to learn the number five in the note, but it doesnt work at a good level.
My application needs to recon the value of each note.
Sorry for my bad english. =P

Hi Jean,

We did not use haarcascade for dollar recognition. We also did not tried to recognize any digits. Instead, we used a combination of several methods to:
1. Detect if there is a banknote in the frame
2. Detect the possible location of the banknote
3. Classify the banknote (recignize its value)

For 1., we used our proprietary method, based on a set of euristics defined using common characteristics of banknotes. Example of such characteristic is the presense of the President picture in the front side of a banknote. Other methods like contours detection can be used to locate a banknote. If you detect a rectangle and side ratio is close to the banknote’s side size ratio, it is probably a banknote.
For 2., we used method based on hystograms, as most of the US banknotes are green. In addition, euristics dependent of the diferent banknotes can be used.
For 3., to extract keypoints and compute corresponding descriptors, we used our own modification of OpenCV’s SURF implementation, but there are a lot of alternative methods available like SIFT or HMAX. To classify an object, several different methods like Nearest Neighbours or SVM’s can be used.

Hope this helps,

Best Regards,

So Yuri, if i want to use your code on my hardware (Cortex A8) did you sell it for recognize other banknotes? Thanks!

Hi Gabriel,

Please contact our marketing team. They will be glad to answer your questions. sales@rhondasoftware.com

hi, i want this task in objective c, i want to create a project in which i can detect human body..and then after getting complete body i can crop body from image , so that i m able to remove background.

Write a comment