Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Image detection


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
9 replies to this topic

#1 destluck   Members   -  Reputation: 114

Like
0Likes
Like

Posted 07 July 2014 - 12:54 PM

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



Sponsor:

#2 HappyCoder   Members   -  Reputation: 2842

Like
2Likes
Like

Posted 07 July 2014 - 02:52 PM

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



#3 zionsrogue   Members   -  Reputation: 106

Like
1Likes
Like

Posted 08 July 2014 - 05:21 AM

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.



#4 destluck   Members   -  Reputation: 114

Like
0Likes
Like

Posted 08 July 2014 - 06:55 AM

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


Edited by destluck, 08 July 2014 - 06:59 AM.


#5 McGrane   Members   -  Reputation: 1167

Like
0Likes
Like

Posted 10 July 2014 - 01:40 AM

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, 10 July 2014 - 01:46 AM.


#6 frob   Moderators   -  Reputation: 22271

Like
0Likes
Like

Posted 10 July 2014 - 01:57 AM

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.

Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.


#7 BitMaster   Crossbones+   -  Reputation: 4274

Like
0Likes
Like

Posted 10 July 2014 - 02:01 AM

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.

#8 Paradigm Shifter   Crossbones+   -  Reputation: 5411

Like
0Likes
Like

Posted 10 July 2014 - 02:02 AM

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.


"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley

#9 zionsrogue   Members   -  Reputation: 106

Like
0Likes
Like

Posted 10 July 2014 - 05:11 AM

@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.



#10 Paradigm Shifter   Crossbones+   -  Reputation: 5411

Like
0Likes
Like

Posted 10 July 2014 - 08:14 AM

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.


"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS