How to use Vision API from Google Cloud?


Google Cloud Vision API is a powerful cloud-based tool that allows developers to integrate advanced image analysis capabilities into their applications. A lot of images are available in today’s digital age. Vision API is used for extracting meaningful information from these images, such as recognizing objects, detecting text, understanding sentiment, etc. In this article, we will understand how we can use vision API from google cloud to analyze image data.

Algorithm

  • Import the required libraries:

    • Import the necessary libraries for the programming language you are using, such as the google.cloud.vision library for Python.

  • Set up a Google Cloud Project:

    • Create a Google Cloud project and enable the Vision API within the project.

    • Generate an API key or set up authentication credentials to authorize API access.

  • Install the required libraries:

    • Install the necessary client libraries or SDKs provided by Google Cloud for interacting with the Vision API. Use a package manager like pip to install the libraries.

  • Authenticate and set up the client:

    • Authenticate the client using the generated API key or authentication credentials.

    • Create a Vision API client instance to establish a connection with the Vision API.

  • Prepare the image for analysis:

    • Load the image file you want to analyze or provide a publicly accessible URL of the image.

    • Convert the image to a format suitable for the Vision API, such as a base64-encoded format or a byte array.

  • Make the API request:

    • Create an API request object with the necessary parameters, such as the image and the desired features.

    • Use the client to send the API request to the appropriate Vision API endpoint.

    • Include the image data in the request payload.

  • Process the API response:

    • Receive the response from the Vision API.

    • Parse the JSON response returned by the API to extract the analysis results.

    • Extract the relevant information from the response, such as object labels, bounding boxes, or confidence scores.

  • Utilize the results:

    • Incorporate the obtained information into your application logic as needed.

    • Perform further analysis or take appropriate actions based on the analyzed data.

Example

Let's assume we have an image containing multiple objects, and we want to identify the label of those objects using the Vision API. In the below example, we first import the necessary libraries including os, io, google.cloud.vision, and matplotlib.pyplot.The path to the service account key file is set using os.environ['GOOGLE_APPLICATION_CREDENTIALS']. An instance of ImageAnnotatorClient is created to authenticate and set up the client for accessing the Vision API. The image file "multi_object.jpg" is opened using io.open() and the content is read.

A vision. The image object is created with the image content. The label_detection method is called on the client, passing the image object, to perform label detection. The labels detected in the image are stored in the labels variable. The image is visualized using matplotlib.pyplot.imshow(). The description of each label is printed using a loop over the labels variable.

import os
import io
from google.cloud import vision
from matplotlib import pyplot as plt
 
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = os.path.join(os.curdir, 'testing-388309-da3d81cb5874.json')
 
client = vision.ImageAnnotatorClient()
 
f = 'multi_object.jpg'
with io.open(f, 'rb') as image:
    content = image.read()
     
image = vision.Image(content = content)
response = client.label_detection(image = image)
labels = response.label_annotations
 
a = plt.imread(f)
plt.imshow(a)
 
for label in labels:
    print(label.description)

Output

Applications of Google Cloud Vision API

Google Cloud Vision API uses cutting-edge machine learning models to analyze images and extract valuable insights. It offers a wide range of pre-trained models and features that can be utilized through a simple REST API. Some key capabilities of the Vision API include:

  • Image Classification:

    The API can identify and categorize images into thousands of predefined categories. For instance, it can recognize common objects, landmarks, animals, or even specific brands.

  • Object Detection:

    With object detection, the API can identify and locate multiple objects within an image, providing bounding boxes around each object and labeling them accordingly. This feature is particularly useful in scenarios where you need to count or track objects in images.

  • OCR (Optical Character Recognition):

    Vision API's OCR capability enables the extraction of text from images. It can detect and recognize printed text in various languages, making it valuable for applications involving document scanning, data extraction, or text analysis.

  • Facial Detection and Analysis:

    Using the Vision API, you can identify faces within images, analyze facial attributes (such as emotions, landmarks, or expressions), and even perform face matching or verification.

  • Explicit Content Detection:

    The API can detect and categorize explicit or inappropriate content within images. This feature is crucial for maintaining the integrity and safety of applications that involve user-generated content.

Conclusion

In this article, we discussed how we can use the Vision API of google cloud to do image analysis in Python. With Vision API's wide range of features, you can build applications that can understand, interpret, and extract valuable insights from images. By following the steps outlined in this guide, you can integrate the Vision API into your own applications, opening up a world of possibilities for image-based analysis and understanding.

Updated on: 16-Oct-2023

66 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements