How to read or detect text from image using Google Vision API

How to read or detect text from image using Google Vision API

In this blog post, i will be able to allow you to skills to read content of images with Google Vision API.

Google Vision API can easily detect and extract text from a picture . There are two annotation features (TEXT_DETECTION, DOCUMENT_TEXT_DETECTION) that perform Optical Character Recognition and return the extracted text, if any.

In order to use Google Vision API, you'll need to create new project or select an existing project and enable the Vision API.

Below are the example to read the text from image using HTML, Css and PHP


<!DOCTYPE html>
<html>
<head>
    <title>How to read or detect text from image using Google Vision API </title>
</head>
<body>

    <form enctype="multipart/form-data" action="" method="POST">
        Choose an image to upload: <input name="image" type="file" /><br />
        <input type="submit" value="Upload Document" />
    </form>

<?php

$url = "https://vision.googleapis.com/v1/images:annotate?key={api_key}";
$detection_type = "TEXT_DETECTION";
$image_validation = array('image/jpeg','image/png','image/gif');

if($_FILES){

    // validate uploaded file for allowed mime type
    if(in_array($_FILES['image']['type'],$image_validation)){            

        // base64 encode image
        $image = file_get_contents($_FILES['image']['tmp_name']);
        $image_base64 = base64_encode($image);

        $json_request ='{
                  "requests": [
                    {
                    "image": {
                        "content":"' . $image_base64. '"
                      },
                      "features": [
                          {
                              "type": "' .$detection_type. '",
                              "maxResults": 200
                          }
                      ]
                    }
                ]
            }';

        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $json_request);
        $json_response = curl_exec($curl);
        $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        curl_close($curl);

        // verify if we got a correct response
        if ( $status != 200 ) {
            die("Something when wrong. Status code: $status" );
        }
        
        // create an image identifier for the uploaded file
        switch($_FILES['image']['type']){
            case 'image/jpeg':
                $im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
                break;
            case 'image/png':
                $im = imagecreatefrompng($_FILES['image']['tmp_name']);
                break;
            case 'image/gif':
                $im = imagecreatefromgif($_FILES['image']['tmp_name']);
                break;
        }

        // transform the json response to an associative array
        $response = json_decode($json_response, true);            
        // display the first text annotation
        echo'<pre>';
        print_r($response['responses'][0]['textAnnotations'][0]['description']);
        echo'</pre>';
    
    }
    else{
        echo 'File type Invalied';
    }

    }
?>

</body>
</html>

Tags

  • How Google Vision API works

  • Google vision API pricing

  • Google vision API documentation

  • Google vision API demo
  • How to read or detect text from image using Google Vision API
  • Document text detection google vision

Related Posts

From Concept to Launch: Roadmap for a Successful Social Media App

From Concept to Launch: Roadmap for a Successful Social Media App

In today's digital era, social media platforms are more than just tools for communication—they're powerful ecosystems driving engagement, commerce, influence, and innovation. With billio

Read More
How To Access Hosted Website Files Without Domain Name Or Domain Control

How To Access Hosted Website Files Without Domain Name Or Domain Control

In this article, we are going to discuss how to access hosted website files without domain name/control. You can use the host's file to point hostnames(domain name) to IP addresses. This change on

Read More
H

How to get last insert ID in PHP Codeigniter?

In this article, we are going to discuss how to get the last inserted ID in Codeigniter. I will let you know how to get the last inserted id from the table. Sometimes, You have to work on relational t

Read More