• Advertisement
Sign in to follow this  

Image detection

This topic is 1288 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

what would be the best language/method to get image detection to work?

The anti-Macro brings up a screen with images/icons that you need to match. The icons keep changing.


this video should show what i need the program to do.

** Link **

*** http://www.youtube.com/watch?v=6-NZK1dlSVI ***

 

thx for the info

Share this post


Link to post
Share on other sites
Advertisement

I'm not exactly sure what you are asking, but let me explain what I understand.

 

You have a list of icons, you also have an image. You want to search the image to see if any of the icons show up and where they are?

 

 

I would use OpenCV for that. OpenCV is a C++ library but there are Java and .Net wrappers for it.

Template Matching

Homography

Share this post


Link to post
Share on other sites

As HappyCoder suggested, using template matching is the best way to do this. OpenCV is (arguably) the best computer vision and image processing library. Unfortunately, the C++ bindings can be a real pain to use. I would suggest using the Python bindings to prototype your approach and only implement in C++ if absolutely necessary.

 

Along with the docs, I would take a look at this post -- it has a really good example of how to use template matching.

Share this post


Link to post
Share on other sites

this for the info yah basicly the anti-macro screen pops up randomly and shows 3-5 icons. Then you have a list of icons at the bottom and you must click the icons that match.

 

as you can see in this picture there 3 icons/images from the tops have to be matched with the ones on the bottom.

 

[url=http://i825t.pngmageshack.us/photo/my-images/853/825t.png/][/URL]

 

http://img853.imageshack.us/img853/4273/825t.png

Edited by destluck

Share this post


Link to post
Share on other sites

Hi destluk,

 

Maybe im missing something here, but do you need image detection if you just want to match two images? Could you not just give your images a unique id, and check them off each other? Just from your screen shot, im not sure why you would need something so complex ( but im sure there could be a reason smile.png )

 

[Edit] I now see that anti-macro is a game, and you want to use this in said game - Disregard ;)

Edited by McGrane

Share this post


Link to post
Share on other sites

this for the info yah basicly the anti-macro screen pops up randomly and shows 3-5 icons. Then you have a list of icons at the bottom and you must click the icons that match.
 
as you can see in this picture there 3 icons/images from the tops have to be matched with the ones on the bottom.
 
http://img853.imageshack.us/img853/4273/825t.png


In the first post you were asking about some routines that use compute-intensive computer vision techniques.

In that link you are just putting numbered icons on the screen.

For what you described in this link, the algorithm is simply:

* Enumerate the available icons. For example, you might have 37 icons.
* Display three of them at random. For example, you might display icon 7, 14, and 31, in a randomized order.
* Display several to chose from at the bottom, including the ones you selected. Perhaps showing icons 7, 14, 31 (the ones that matched), 3, 9, and 18 (some that don't match), in a randomized order.
* If the user clicks the same three values that match and none of the three incorrect values, it is matched.

No computer vision necessary. In C++ just put the enumeration values in an array, random_shuffle(), the array, then pick the first set and second set for display, shuffling again to randomize the order.

Share this post


Link to post
Share on other sites
I think you are misunderstanding the OP (see also his closed original topic). He does not want to write an anti-macro system himself, he wants a tool to keep on macroing despite the game working against it.

Share this post


Link to post
Share on other sites

I think he wants to write a bot that clicks on the correct items rather than know how to implement the algorithm, frob ;)

 

Another way to do it is to sample some pixels from the images and compare the colours. You don't need to sample all the pixels, as long as the pixels you do sample are enough to distinguish all the images. That's how some online poker bots work.

Share this post


Link to post
Share on other sites

@Paradigm Shifter: Sampling the colors would definitely be a good start. But that approach could easily fall apart if two items have near identical color distributions. In terms of OpenCV, computing a histogram and comparing to a database of known items takes no more code than performing template matching.

Share this post


Link to post
Share on other sites

No, I mean sample a set of pixels from within the image. For poker bots they just look at something like 8 pixels or so from each card image, those 8 pixels will be sufficient for distinguishing between all 52 cards in the deck.

 

This assumes you know the image colours exactly and they don't do things like fade in or out, resize and blur, etc.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement