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.
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" }, ... ] }