Python SDK

Python SDK is based on the Nvision image processing service for synchronous calls. The input requests and output responses are structured in JSON format. You can make a RESTful API call by sending an image as a base64 encoded string in the body of your request, see make API calls quickstart.

Quickstarts

Before you begin to use this SDK, these quickstarts will guide you to get started with the Nvision API.

  1. API Concepts: RESTful and WebSocket
  2. Set up the Nvision API
  3. Make a RESTful Call
  4. Detect Objects

Installation

Using PyPi package here: https://pypi.org/project/nvision/

pip install nvision

Supported Python versions: Python >= 3.5

Using the SDK

Detect Objects

To use object detection service, you can initialize the ObjectDetection class directly with your api_key. Then, call the predict() method to make a RESTful request for model inference.

import os
import json
import base64
from nvision import ObjectDetection

model = ObjectDetection(api_key=os.getenv('API_KEY'))

# base64 encoed string
with open(os.path.join('docs', 'street.jpg'), 'rb') as file:
    image = file.read()
    image = base64.b64encode(image).decode('utf-8')

# make a RESTful call to the Nvision API
response = model.predict(image)

print(response)
print(json.dumps(response.json(), indent=4, sort_keys=True))

nvision.ObjectDetection.predict() params:

def predict(self,
            image,
            confidence_threshold=0.1,
            output_cropped_image=False):

docstring: Make a RESTful request for model inference 
    :param image: base64 encoded string
    :param confidence_threshold: float
        - value options: [0,1]
        - default: 0.1
    :param output_cropped_image: Boolean
        - value options: True or False,
        - default: False

Prediction response

{
    "detected_objects": [
        {
            "bounding_box": {
                "left": 245,
                "right": 307,
                "top": 515,
                "bottom": 602
            },
            "confidence": 0.9126193721036421,
            "cropped_image": "<<base64_encoded_string>>",
            "name": "pserson"
            "parent": "human"
        },
        ...
    ]
}

Was this article helpful?

Related Articles