Codificación Base64
Puedes proporcionar datos de imagen para el reconocimiento óptico de caracteres si especificas la ruta URI a la imagen o si envías los datos de 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, haz lo siguiente:
Linux
base64 input.jpg > output.txt
macOS
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 dentro de 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 archivos de imagen en base64:
Python
En Python, puedes codificar archivos de imagen en base64 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 archivos de imagen en base64 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 archivos de imagen en base64 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 archivos de imagen en base64 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)