martin-cox / eyespy Goto Github PK
View Code? Open in Web Editor NEWChrome extension for image recognition and manipulation
License: GNU General Public License v2.0
Chrome extension for image recognition and manipulation
License: GNU General Public License v2.0
Need some system that can perform concurrent requests for image analysis and then handle the processing of results for that image. Things to consider:
Each image should retain it's Clarfiai results on a per model basis so that we don't need to repeat requests for images.
This action is to block the image by replacing it with a black element.
This action will replace the original image with one that has a text caption added to it. Things to consider:
Some useful functions include:
getSourceUrlFromElement(element: JQuery): string => ...
validateUrl(url: String): string => ...
This action is to download the image to the users PC. Things to consider include:
It would be useful to have information regarding image processing status, filter status, Clarifai requests etc. logged to the console. This information should only be logged when the user has entered debug mode.
Need to work out:
It would be nice to be able to analyse an image against multiple models and handle the results as a single operation. Things to consider include:
The action will open a new tab that navigates to an image search engine pre-populated with some of the tags from the original image. Things to consider:
Users should be able to specify many rulesets. A ruleset consists of one or more rules and a trigger. Rulesets will analyse all images on a page, and for any image that meets all of the rulesets rules an action will be applied to that image.
Trigger
An inciting event (e.g. page load) that triggers re-evaluation of the ruleset.
Rule
A rule consists of a tag that corresponds to a tag returned by the Clarifai API after analysing a given image. For example, an image containing a cat playing with a ball might return the following tags: Cat, Kitten, Ball, Toy, Pet.
A rule also has an operator. These are standard conditional operators e.g. > (Greater than), <= (Lesser than or equal to).
Lastly, a rule has a probability, being expressed as a % value between 0-100.
Putting these three elements together makes up a single rule. An example of a rule is: Cat >= 80%
Action
An action to take against each image that meets all the rules. See the Actions for further information.
This action is to hide an image without any regards to page layout or user experience. The simplest way to do this would be to add display: none
to the image DOM element.
There already exists a mechanism for adding the keys via the extension popup, and the keys are stored in Chrome's local storage, but the current implementation isn't ideal:
Users should be able to choose which Clarifai iamge recognition model they want to analyse an image against. Things to consider include:
Clarifai cannot process animated images, so animated .gif, .webm, .png will need to be prevented from being analysed.
This action replaces the original image with oen that has been edited. Things to consider:
This action extends the Replace with... action but instead of the user choosing which image to use as the replacement, we should find a similar image online by using the Clarifai tags of the original image.
This action will allow users to replace the iamge with a user specified replacement. Things to consider:
This is already partly implemented. Things to consider include:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.