ADD: ImageRecognition

This commit is contained in:
Chris Lee
2015-09-11 01:20:06 -04:00
parent 63fdb88ad7
commit e6ae34cb0b
5 changed files with 63 additions and 12 deletions
+2 -2
View File
@@ -18,9 +18,9 @@ from indicoio.text.tagging import text_tags
from indicoio.text.keywords import keywords
from indicoio.text.ner import named_entities
from indicoio.images.fer import fer
from indicoio.images.features import facial_features
from indicoio.images.features import facial_features, image_features
from indicoio.images.faciallocalization import facial_localization
from indicoio.images.features import image_features
from indicoio.images.recognition import image_recognition
from indicoio.images.filtering import content_filtering
from indicoio.utils.multi import analyze_image, analyze_text, intersections
+2 -1
View File
@@ -60,11 +60,12 @@ IMAGE_APIS = [
'fer',
'facial_features',
'image_features',
'image_recognition',
'content_filtering'
]
OTHER_APIS = [
"analyze_text",
"analyze_text",
"analyze_image",
"intersections"
]
+28
View File
@@ -0,0 +1,28 @@
import requests
from indicoio.utils.image import image_preprocess
from indicoio.utils.api import api_handler
def image_recognition(image, cloud=None, batch=False, api_key=None, version=None, **kwargs):
"""
Given an input image, returns a dictionary of image classifications with associated scores
* Input can be either grayscale or rgb color and should either be a numpy array or nested list format.
* Input data should be either uint8 0-255 range values or floating point between 0 and 1.
* Large images (i.e. 1024x768+) are much bigger than needed, minaxis resizing will be done internally to 144 if needed.
* For ideal performance, images should be square aspect ratio but non-square aspect ratios are supported as well.
Example usage:
.. code-block:: python
>>> from indicoio import image_recognition
>>> features = image_recognition(<filename>)
:param image: The image to be analyzed.
:type image: str
:rtype: dict containing classifications
"""
image = image_preprocess(image, size=144, min_axis=True, batch=batch)
url_params = {"batch": batch, "api_key": api_key, "version": version}
return api_handler(image, cloud=cloud, api="imagerecognition", url_params=url_params, **kwargs)