Tips & trik untuk deteksi teks dari gambar menggunakan Google Vision API di PHP

0
Dalam tutorial ini, saya akan memberi tahu Anda cara mendapatkan konten gambar dengan Google Vision API.

Google Vision API dapat dengan mudah mendeteksi dan mengekstrak teks dari gambar. Ada dua fitur anotasi (TEXT_DETECTION, DOCUMENT_TEXT_DETECTION) yang menjalankan Pengenalan Karakter Optik dan mengembalikan teks yang diekstrak, jika ada.

Untuk menggunakan Google Vision API, Anda harus membuat proyek baru atau memilih proyek yang sudah ada dan enable the Vision API.

Contoh 
<!DOCTYPE html>
<html>
<head>
	<title>Tips & tricks for text detection from images 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 not allowed';
    }

	}
?>

</body>
</html>

Kami menggunakan permintaan cURL untuk mendeteksi teks dari gambar yang diunggah menggunakan Google Vision API karena semuanya dikemas dalam RESTful API.

LEAVE A REPLY

Please enter your comment!
Please enter your name here