开发者

Playing card detection using OpenCV - on mobile devices

I played along with the samples of the OpenCV lib. and now I want to start coding on my own. However with the huge possi开发者_StackOverflow社区bilities of the library I am lost here.

The "setup": Assume a table with playing cards on it. The cards will be arranged in 2 rows, the number of cards per row is not fix, but has a certain number as a max. The size and shape of the cards are all the same, but the pictures on it are different (however, not too complex). The code should be able to detect each card(picture) and the row of the card.

The problem: Whats the best solution to that? Haar ? ... etc. I simply don´t know whats the fastest approach is here according to run-time. Bonus question: If I want to do that stuff on a mobile device is there another faster way ?

best regards


Someone else had a similar question.

In short: try OpenCV SURF For more details see this answer.


  • Take the gradient image and apply the Hough transform to obtain the card boundaries. Optionally combine this with an adaptive threshold to segment the foreground from the background.
  • Use SURF to recognise the pictures on the cards.

For the optimal speed, you could use PCA SIFT instead of SURF − it creates feature vectors that are based just on your images, as opposed to regular SIFT or SURF, which create feature vectors accommodating the space to describe any image. In your search to match features, it'll therefore be a lot faster.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜