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

Why Outsourcing Web Development is the Smartest Choice for Business Enhancement

Why Outsourcing Web Development is the Smartest Choice for Business Enhancement

The practice of assigning the creation of your website to an outside company or person with the specific training and experience required to create safe, secure, and functional solutions is known as o

Read More
P
PHP |

PHP CodeIgniter Count Rows in Table

Counting rows in a database table is a common requirement in web development, especially when working with data-driven applications. Whether you're building a dashboard, generating reports, or val

Read More
Top Benefits of Hiring an Offshoring Software Development Company in India

Top Benefits of Hiring an Offshoring Software Development Company in India

In the fast-paced world of technology, businesses across the globe are constantly striving to innovate while staying cost-effective. One proven strategy that delivers both quality and affordability is

Read More