Codificación Base64
Puede proporcionar datos de imagen para el reconocimiento óptico de caracteres especificando la ruta del URI de la imagen o enviando los datos de la imagen como texto codificado en base64.
La mayoría de los entornos de desarrollo contienen una utilidad base64 nativa para codificar una imagen binaria en datos de texto ASCII. Para codificar un archivo de imagen:
Linux
base64 input.jpg > output.txt
Mac OSX
base64 -i input.jpg -o output.txt
Windows
C:> Base64.exe -e input.jpg > output.txt
PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("./input.jpg")) > output.txt
A continuación, puedes usar estos datos de imagen de salida de forma nativa en la solicitud JSON:
{
"requests":[
{
"image":{
"content": "BASE64_ENCODED_DATA"
},
"features": [
{
"type":"TEXT_DETECTION",
"maxResults":1
}
]
}
]
}
Cada lenguaje de programación tiene su propia forma de codificar en base64 los archivos de imagen:
Python
En Python, puedes codificar en Base64 los archivos de imagen de la siguiente manera:
# Import the base64 encoding library.
import base64
# Pass the image data to an encoding function.
def encode_image(image):
image_content = image.read()
return base64.b64encode(image_content)
Node.js
En Node.js, puedes codificar en Base64 los archivos de imagen de la siguiente manera:
// Read the file into memory.
var fs = require('fs');
var imageFile = fs.readFileSync('/path/to/file');
// Convert the image data to a Buffer and base64 encode it.
var encoded = Buffer.from(imageFile).toString('base64');
Java
En Java, puedes codificar en base64 los archivos de imagen de la siguiente manera:
// Import the Base64 encoding library.
import org.apache.commons.codec.binary.Base64;
// Encode the image.
byte[] imageData = Base64.encodeBase64(imageFile.getBytes());
Go
En Go, puedes codificar en Base64 archivos de imagen de la siguiente manera:
import ( "bufio" "encoding/base64" "io" "os" ) // Open image file. f, _ := os.Open("image.jpg") // Read entire image into byte slice. reader := bufio.NewReader(f) content, _ := io.ReadAll(reader) // Encode image as base64. base64.StdEncoding.EncodeToString(content)