https://github.com/nettlep/magic Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Copilot + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Skills + GitHub Sponsors + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} nettlep / magic Public * Notifications * Fork 5 * Star 425 Scanner for decks of cards with bar codes printed on card edges License BSD-3-Clause license 425 stars 5 forks Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights nettlep/magic This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 1 branch 0 tags Code Latest commit @nettlep nettlep Fixing a build issue with Cardbars unable to find includes on M1 Macs ... 07779ab Jun 30, 2022 Fixing a build issue with Cardbars unable to find includes on M1 Macs 07779ab Git stats * 17 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time Sources Fixing a build issue with Cardbars unable to find includes on M1 Macs Jun 30, 2022 docs Merge pull request #2 from jacob-greenwald/fix_typo Jun 29, 2022 tools Initial version added to repo Jun 28, 2022 .gitattributes removing images from LFS to re-add as standard git Jun 29, 2022 .gitignore Missed another reference to 'Stevie' but was renamed to 'Abra' Jun 29, 2022 LICENSE Initial version added to repo Jun 28, 2022 Package.swift Initial version added to repo Jun 28, 2022 README.md Updated the README.md to provide a better introduction to the project Jun 29, 2022 build Initial version added to repo Jun 28, 2022 decks.json Initial version added to repo Jun 28, 2022 todo.txt Initial version added to repo Jun 28, 2022 whisper.conf Initial version added to repo Jun 28, 2022 View code The Nettle Magic Project Get started README.md The Nettle Magic Project This deck of cards has a bar code printed on the edge of each card. Scanning these bar codes would reveal where every card is (or isn't - if cards are missing.) Think card magic. A deck of cards with digital marks printed on the edge of each card. This wouldn't be a very good magic trick if you could see the marks. We need invisible marks. One of these decks is unmarked, the other is marked with this special ink that is only visible under specific IR conditions. Two decks of cards - each viewed from the same end. Both decks appear normal. This device (a Raspberry Pi Zero W with a NoIR camera) can see these marks. The shiny circle is a special IR filter. A scanning server runs on this small device. A small computer module, about the size of a thumb. It has a small camera attached. The lens of the camera is covered with what looks like s small round mirror. This is Abra, the iOS client application running on my iPad. It shows what the server's camera sees along with the decoded deck. As you can see, the IR marks are quite visible to the camera. A screenshot of an app containing an array of playing cards in suit and numerical order, with a black-and-white image of a deck of playing cards with edge-marks clearly visible. Your iDevices can also be a server, but they can't see those infrared marks, even with special filters. However, they can see black ink marks and marks made using a different type of invisible ink - ultraviolet fluorescing ink. A deck of cards with marks on the edges of cards that are glowing brightly under the light of a UV pen light. Next to the deck is an iPad showing the deck from it's camera's perspective. For hard core developers, I've included the testbed, which has a bunch of visualization tools to understand how things work. A screenshot of an app that shows a deck of cards in a viewport with marks outlined digitally, and various statistics listed below. The testbed only runs on Mac. However, the server app is a generic Linux console app and it includes a text-based GUI mode. A text-based console app with an image of a deck of cards printed using alphanumeric characters. Statistics appear below this text-based viewport. Performance is critical. The statistical model requires a full 30Hz of data. Also, this can be strapped to a person's body during a performance. Efficiency means longer battery, less heat. It can scan/decode a 1080p image to an ordered deck in as little as 4ms. On a rPI. Get started Full documentation is available here. About Scanner for decks of cards with bar codes printed on card edges Topics swift magic computer-vision Resources Readme License BSD-3-Clause license Stars 425 stars Watchers 5 watching Forks 5 forks Releases No releases published Packages 0 No packages published Contributors 2 * @nettlep nettlep Paul Nettle * @BioGeek BioGeek Jeroen Van Goey Languages * Swift 90.7% * C++ 7.2% * Other 2.1% Footer (c) 2022 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.