
The project shows detection and recognition of euro money bill from input image (webcam). For each existing euro money bill is chosen template that contains number value of bill and also its structure. For matching templates with input images is used Flann Based matcher of local descriptors extracted by SURF algorithm.
Functions used: medianBlur, FlannBasedmatcher, SerfFeatureDetector, SurfDescriptorExtractor, findHomography
Process
- Preprocessing – Conversion to grayscale + median filter
[c language=”c++”]
cvtColor(input_image_color, input_image, CV_RGB2GRAY);
medianBlur(input_image, input_image, 3);
[/c] - Compute local descriptors
[c language=”c++”]
SurfFeatureDetector detector( minHessian );
vector<KeyPoint> template_keypoints;
detector.detect( money_template, template_keypoints );
SurfDescriptorExtractor extractor;
extractor.compute( money_template, template_keypoints, template_image );
detector.detect( input_image, input_keypoints );
extractor.compute( input_image, input_keypoints, destination_image );
[/c] - Matching local descriptors
[c language=”c++”]
FlannBasedMatcher matcher;
matcher.knnMatch(template_image, destination_image, matches, 2);
[/c] - Finding homography and drawing output
[c language=”c++”]
Mat H = findHomography( template_object_points, input_object_points, CV_RANSAC );
perspectiveTransform( template_corners, input_corners, H);
drawLinesToOutput(input_corners, img_matches, money_template.cols);
[/c]
Sample

