Sabe aquela situação em que você tá preenchendo alguma coisa no app e pensa: "Por que eu tô digitando isso? Era só o app ler direto da imagem..." Pois é, OCR tá aí pra isso.
E se você achava que colocar OCR no seu app Flutter era algo de outro mundo… relaxa. Bora desmistificar isso juntos.
🧐 Afinal... o que é OCR?
OCR (Optical Character Recognition) é aquele esquema de extrair texto de uma imagem. Sabe quando você aponta a câmera pro código de barras de um boleto, ou pra uma plaquinha, e ele captura os números ou as palavras? Então, é isso.
Funciona pra um monte de coisa:
- Ler boletos
- Capturar texto de documentos
- Digitalizar cartões, embalagens, placas
- Até extrair aquele texto aleatório de memes (sim, por que não?)
📲 E dá pra fazer isso no Flutter?
Dá sim. E é bem mais fácil do que parece.
Existe uma lib pra isso da própria galera do Google, chamada google_mlkit_text_recognition. Funciona offline (sim, offline!), e roda liso tanto no Android quanto no iOS.
👨💻 Bora pro código? Bora.
🔗 Primeiro, adiciona no seu pubspec.yaml
:
dependencies:
google_mlkit_text_recognition: ^0.10.0
image_picker: ^1.0.0
(Se quiser capturar da câmera ou da galeria, o image_picker
ajuda.)
📸 Pegando a imagem:
final picker = ImagePicker();
final pickedFile = await picker.pickImage(source: ImageSource.camera);
🧠 Fazendo a mágica do OCR:
final inputImage = InputImage.fromFilePath(pickedFile!.path);
final textRecognizer = TextRecognizer();
final RecognizedText recognizedText = await textRecognizer.processImage(inputImage);
for (TextBlock block in recognizedText.blocks) {
print('Bloco: ${block.text}');
for (TextLine line in block.lines) {
print('Linha: ${line.text}');
}
}
await textRecognizer.close();
E pronto. De verdade. É literalmente isso. Texto extraído, tá na sua mão.
✨ Onde isso vira ouro?
- Leitor de boletos (me diz quem gosta de digitar aquele monte de número)
- Digitalizador de documentos
- Apps que lidam com recibos, notas fiscais, placas... qualquer coisa com texto
- Ferramentas educacionais
- E, por que não, gerar memes automáticos a partir de placas engraçadas 😂
⚠️ Coisas pra ficar ligado
- Se a foto estiver tremida, escura ou de baixa resolução, a precisão cai.
- Processamento local gasta mais bateria, então usa com sabedoria.
- E, claro, sempre pensa na privacidade. O que o usuário escaneia, fica seguro?
🚀 Dicas de ouro
- Dá pra usar junto com scanner de documentos, pra melhorar a qualidade antes do OCR.
- OCR em tempo real? Dá pra fazer! Tipo aquele Google Tradutor que traduz placa na hora.
- E se quiser ir além... junta isso com uma IA tipo ChatGPT pra resumir, traduzir ou até gerar respostas automáticas.