A collectors dream application, that gives you the ability to take pictures of your cards and have them instantly be recognized and added to your collection. This app will scan each image uploaded attempt to grab the name of the card and analyze the set image in an attempt to match it with a given set.
Here is a test extraction:
Extracted Text: g Platinum Angel
Cleaned Extracted Text: gPlatinumAngel
Extracted Text: E Artifact Creature —- Angel
Cleaned Extracted Text: EArtifactCreatureAngel
More examples are available here
Clone repo
git clone https://github.com/dills122/MTG-Card-Analyzer.git
Install dependencies
npm i
Navigate to the repo's directory, you will need to setup a few things first
- Run this script to seed your local name dictionary
node .\src\db-local\bulk-insert.js
- Create an RDS instance in AWS or any other mySql db provider
- Create a
secure.config.js
with your mySql credentials (Schema below) - All sql scripts are located in
src\data\scripts\sql
, run all the table create scripts
- Create a
A template is avaliable here
rds: {
host: '...',
database: '...',
user: '...',
password: '...'
}
Once all of the setup is complete to run your first image through the processor you can use one of the test images or use the given command below.
# Run at the base directory of the repo
node index.js scan ./src/test-images/PlatinumAngel.jpg
# Might need to run as sudo on linux
scan <filePath>
: this command scans a single image and outputs the results to the terminal- flags:
query
orq
: for disabling database manipulation (defaulttrue
)file
orf
: for processing an output file (defaultfalse
)
- flags:
Test images are provided at src\test-images
Backfiller utility instructions found here
fuzzyset.js
image-hash
jimp
string-similarity
tesseract.js