Skip to content
/ onyx Public

An android library that uses technologies like artificial Intelligence, machine learning, and deep learning to make developers understand the content that they are displaying in their app.

License

Notifications You must be signed in to change notification settings

hanuor/onyx

Repository files navigation

Android Arsenal
API AppVeyor

onyx


Onyx is a library for android that can be used by developers to understand what type of content they are enabling inside their apps. An example can be to limit adult content in apps specifically made for children. Through Onyx you can get the characteristics of an image and then determine if you want to block it or allow it. The possibilities are endless, there can be a zillion use case scenarios. Onyx is proud to be powered by world's best visual recognition technology - Clarifai.
Note - The gathering of information about the images is done through the implementation of technologies like Artificial intelligence, machine learning, and deep learning.


Code is under maintainence.

For now the default branch is set to develop. Some features may not work as expected. If you wish to contribute then use the code from the master branch.

Download

Using Gradle: under dependencies section:

compile 'com.hanuor.onyx:onyx:1.1.4'  

or Using Maven:

<dependency>
<groupId>com.hanuor.onyx</groupId>
<artifactId>onyx</artifactId>
<version>1.1.4</version>
<type>pom</type>
</dependency>    

or Using Ivy:

 <dependency org='com.hanuor.onyx' name='onyx' rev='1.1.4'>
 <artifact name='$AID' ext='pom'></artifact>
 </dependency>	    

Documentation

Getting tags for an Image

Pretty simple -
Use .getTagsfromApi() method. Example is given below

 Onyx.with(Context context).fromURL(String url).getTagsfromApi(new OnTaskCompletion() {
                @Override
                public void onComplete(ArrayList<String> response) {
                    //get an arraylist of tags here
                    //do whatever you want here
                        
                  }
            });
        }
    });

Getting tags as well as their probability of occurring

Use the .getTagsandProbability() method. Example is given below

  Onyx.with(Context context).fromURL(String url).getTagsandProbability(new OnTaskCompletion() {
                @Override
                public void onComplete(ArrayList<String> response) {
                   //results will be in the form of array-list
				   //for eg. - [Mammal-0.9972132, Wolf-0.9962321, Snow-0.993212]
				   //Do whatever you want to do here
                }
            });

Getting tags from a video (Whaaaaa......a!)

Convert video into a stream of byte[]. and see the example below.

 Onyx.with(Context context).fromVideoArray(byte[] videoArray).getTagsfromApi(new OnTaskCompletion() {
				@Override
                public void onComplete(ArrayList<String> response) {
                   //results will be in the form of array-list
				   //Do whatever you want to do here
                }
            });       

Getting tags and their probability of occurring from a video

Convert video into a stream of byte[]. and see the example below.

 Onyx.with(Context context).fromVideoArray(byte[] videoArray).getTagsandProbability(new OnTaskCompletion() {
				@Override
                public void onComplete(ArrayList<String> response) {
                   //results will be in the form of array-list
				   //for eg. - [Mammal-0.9972132, Wolf-0.9962321, Snow-0.993212]
				  
				   //Do whatever you want to do here
                }
            });  

Compatibility