Why not make saving money an even more convenient action? Our team at ScarletHacks (which includes Thomas Han and myself) were inspired by this sentiment. To conceptualize this, we had the idea to scan the logo of a brand that you are interested in, and to have promotional codes for that brand immediately.
What is it?
Scan the logo of a brand that you wish to have a coupons for, and in the blink of an eye you will have just that. Instead of a regular web app, you can SEE the data through the Oculus Rift if you so desire (it also works as a regular web app too, though).
How we Built it
OpenCV had a template matching feature that we used to compare logos of famous companies and the image that was coming from the camera. A confidence factor was also instantiated to avoid obscure shapes from interfering with the logo detection. The most challenging part was allowing logo detection even if the phone is oriented at an angle. This required the SIFT function in OpenCV (which apparently required an extension to the library that regular OpenCV does not have). After, web scraping occurs with the said brands on Groupon, and the discount codes are retrieved. The data is put into a database using mySQL and the information can be viewed from an web application that supports Oculus Rift (in case your couponing needs necessitate virtual reality). The information updates are also automated through node-schedule (which keeps the coupons relevant).
What we Learned
OpenCV was a great choice for this hackathon and after using it briefly, both of us intend to use it more in the future.
Other than that, we learned that configuring with Windows is probably the least fun thing to do.
What is Next
We want to add more brands that can be recognized (there is a very interesting scaling situation if this is to include all major brands, so categorizing by type of company may need to come first). Then, have more interactive experiences with the Oculus.
How do I use it?
Visit the Sifter repository.
Run the following commands (install Python and NodeJS beforehand):
git clone https://github.com/zainakh/scarlethacks.git
cd scarlethacks
python logo.py
node webscraping.js
Running python logo.py
shows the template matching and logo recognition in action. It will display the logos of two popular companies (Nike/Adidas) that will be scanned for in the given test image.
Opening the webscraping folder and running node webscraping.js
will depict the process we used to get the coupon codes from the website.