Card recognition and organization based on opencv
This is a set of utilities to recognize and extract card images from a video feed, and then recognize those images against a known database.
Dependencies and Setup
python 2.7, numpy, Flask, SQLAlchemy, Elixir
sudo apt-get install python-dev sudo pip install -r requirements.txt
sudo apt-get install python-opencv
- MTG Set Card Images (GathererDownloader Instructions)
- white printer paper
cards_file="cards.xml" card listing obtained from GathererDownloader
basic_magic_set_dir="cards/" card images obtained from GathererDownloader
python -m utils.run_scan
|middle mouse wheel||delete scan|
Requires an image set to match against (GathererDownloader Instructions)
python -m utils.run_match
Verification allows you to manually label any cards the matching process could not recognize, or was uncertain about whether its recognition was correct.
It also helps to have lighting coming from both sides, to reduce the effect of slightly curved cards throwing shadows that alter their rectangular shape in the camera's view.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.