Usage of cvMatchTemplate() function in Opncv - visual-c++

Can I match two images which looks same but not 100% same ,Using cvMatchTemplate() function in Opncv.?
As a example there are 5 images on DB which represent no1,no2,no3,no4 and no5 by using my left hand. And you shows no3 by using your left hand. I want to filter My no3 image from DB as the result.
In this scenario your hand size ,your hand color and your representation will not match 100% with me.
Thank you.

With cvMatchTemplate() function you cannot match two similar images. But what this function basically does is matches a template image to the main image and based on this provides the result.
As an example assume face detection technique, wherein you have a face images and out of it you want to detect the location of eyes. Hence you load template images of eyes and try to match it with the face image to detect the position of the eyes.
This is what my understanding is about this function.

Related

Is there a way to detect whether the given image contains labeled parts?

I have a use-case to detect whether the given image contains annotated attributes or not?
For example - if I give an input image as:-
The expected output is:
Detection that the image contains attribute annotations
The attribute labels from the image (if possible)
Things tried:
I tried using OCR with the help of pytesseract but I was only able to get the words in haphazard manner. Next I tried to detect arrows/lines in the image, but that also did not work as expected, since it detects all horizontal and vertical lines but cannot differentiate between center image(printer) and arrows(used for attributes)
Any help to will be appreciated. Thank-you.

Easiest and free way to transform bitmap image into geographical map

I have image that is the map of a country with districts. For example this image http://upload.wikimedia.org/wikipedia/commons/c/ca/POLSKA_mapa_powiaty2.png. I want to trace/convert it to svg format to have each district as separate shape (polygon) - and later I want to use it in http://kartograph.org/. What program I have to use? And how?
I tried so far inkscape/photoshp but those didnt work.
Is there maybe some special tool/program to trace/convert bitmap to vectors?

Placing an object at a specific percentage along an svg path?

Currently I'm using the <animateMotion> element to very quickly animate an object (defined by a path) to the correct end location.
This is displaying ok in Chrome and I'm not working on getting it working with Batik.
But I'm curious: is there a better way to do this without the animating? To just draw it (at say 80%) along the length of a <path>?
If you're creating a static svg image then you should know in advance exactly where to place the object. You can e.g use a transform attribute to place the object where you want it.
If you're doing it without prior knowledge of where you want to place the object, then you can use javascript, the getPointAtLength method will give you a point on the path at a given length offset. You can query the computed total length of the path by calling getTotalLength.

How is google search by image possible?

Recently google launched its new feature in image search by image means we can search other images by uploading a image in the google search box. How is this possible?
http://images.google.com
Look at WP:Content-based image retrieval. An example of open-source implementation that you can study internal working of is for example GNU Image Finding Tool.
If you click on the "Learn more" link on the page you are referring to, you'll find this explanation
How it works
Google uses computer vision techniques to match your image to other images in the Google Images index and additional image collections. From those matches, we try to generate an accurate "best guess" text description of your image, as well as find other images that have the same content as your search image. Your search results page can show results for that text description as well as related images.
Actually the answer to this lies in the image processing.....in over a decade image processing and computer vision have done great deal of advancement...
search by image uses pixels ...it compares the pixels and matches with image database it contains....its quite similar to what actual tyext search does but there pixels in place of text...
there are various operators like soble operator,etc which help us focus on the important details of the picture being tested and and we we can search on the basis of the important feature of the image.....

CAPTCHAS and img name /displayed value association

Unfortunately I am having trouble summing up this question in one phrase/line, thus I am forced to initially hint as to what my understanding is before asking the question in fear of me asking a question based on wrong facts or assumptions. As I understand “and please correct me if am wrong”, as I understand captchas work like so:
Have numerous images, and associate each image name/source to its displayed characters value.
Display image, then have user input what they see.
Match user's input against the character value which is associated with that image's name/source.
Assuming my understanding is correct: Given an unlimited amount of time,
Can't one associate image
names/sources with the displayed
characters increasing the chance of
cracking the captcha as they gather
more associations?
In that case, wouldn't the security strength of captchas be parallel the size of the image database?
NOTICE: As i suspected my question was based on wrong understanding.
Short answer! These are dynamic images and they are not stored anywhere. You wont even find them in the source code..
Wikipedia has good explanation about this. Alternatively check out the related questions in SO.
Edit: Goto this page where you can see an example of a captcha. Use firebug to see the HTML code for this image and you will see something like this.
<img height="57" width="300" src="http://www.google.com/recaptcha/api/image?c=03AHJ_VutaG4ahxWuQv0e6edYypp_FM8QuFIZkG75AnAm8iu3WRmwQ41jqcvojmKmbSKXxkf_s9fk61-axEp77_omKZZEYliE35BND_hXNh3Jac6ZUAeD08wOMZPj4W2s-A39vAI84eim5q-z9kFnmoSmon1jG2LmmFw" style="display: block;">
Did you notice the source? It does not point to an image file.
You can copy this url and generate the image (just open it in a browser). So you can develop an application which can download this image and then scan for color change in pixels and try to match for alphabets and numbers but if you notice almost all the alphabets and numbers are connected and closer so it is difficult to seperate different alphabets.
Even if you manage to seperate most of the alphabtes are not perfect. example :
(source: watblog.com)

Resources