Skip to content
This repository has been archived by the owner on Jun 22, 2022. It is now read-only.

Latest commit

 

History

History
83 lines (55 loc) · 2.94 KB

README.md

File metadata and controls

83 lines (55 loc) · 2.94 KB

** Project Status ** This project is not under active development or maintenance. There's almost certainly better architectural approaches that have been developed in the intervening years since initial creation. This project is left online for educational purposes only.

Card recognition and organization based on opencv

demo video

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

OpenCV 2.3.1-7

sudo apt-get install python-opencv

Configure

config.py

db_file="inventory.sqlite3"

cards_file="cards.xml" card listing obtained from GathererDownloader

basic_magic_set_dir="cards/" card images obtained from GathererDownloader

Running

1. Scan

python -m utils.run_scan

Key Function
middle mouse wheel delete scan
space rescan image
r rescan background
escape finish scanning

2. Match

Requires an image set to match against (GathererDownloader Instructions)

python -m utils.run_match

3. Verify

Verification allows you to manually label any cards the matching process could not recognize, or was uncertain about whether its recognition was correct.

python website.py

http://localhost:5000/verify_scans

Scanning Notes

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.


Licensing

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