Text Recognition Camera
A Flutter widget for capturing images and recognizing text using Google ML Kit, with support for pattern searching using regular expressions.
Features
- 📸 Image capture from camera or gallery
- 🔍 Text recognition using Google ML Kit
- 🎯 Pattern search using regular expressions
- 🎨 Fully customizable interface
- 🌓 Dark mode support
- 📱 Responsive and adaptable design
- 📄 Initial image support
- 💾 Returns recognized text and image path
Installation
dependencies:
text_recognition_camera: ^0.0.5
Usage
final result = await showDialog<RecognitionResult>(
context: context,
builder: (context) => const TextRecognitionCamera(
title: "Scan text",
pattern: r'(\d+)', // Pattern to find numbers
notFoundMessage: "No number found",
successMessage: "Number found:",
width: 450,
height: 700,
backgroundColor: Color(0xFFFAFAFA),
primaryColor: Color(0xFF1976D2),
successColor: Color(0xFF388E3C),
errorColor: Color(0xFFD32F2F),
// Theme support parameters
textColor: Colors.black87,
secondaryTextColor: Colors.black54,
buttonBackgroundColor: Colors.grey[100],
buttonForegroundColor: Colors.grey[800],
containerBackgroundColor: Colors.grey[100],
),
);
if (result != null) {
print('Recognized text: ${result.text}');
print('Image path: ${result.imagePath}');
}
Parameters
title: Title that appears at the top of the dialogpattern: Regular expression as string to search in recognized textnotFoundMessage: Message to show when pattern is not foundsuccessMessage: Message to show when pattern is foundwidth: Dialog widthheight: Dialog heightbackgroundColor: Dialog background colorprimaryColor: Primary color for buttons and interactive elementssuccessColor: Color for success messageserrorColor: Color for error messagesinitialImagePath: Path to an initial image to process (optional)textColor: Main text color (optional, uses theme if not specified)secondaryTextColor: Secondary text and icons color (optional, uses theme if not specified)buttonBackgroundColor: Background color for buttons (optional, uses theme if not specified)buttonForegroundColor: Text color for buttons (optional, uses theme if not specified)containerBackgroundColor: Background color for containers (optional, uses theme if not specified)
Example
The package includes a complete example that shows how to implement a 12-digit serial number scanner. To run the example:
cd example
flutter run
License
This project is under the MIT license - see the LICENSE file for details.
Text Recognition Camera
Un widget de Flutter para capturar imágenes y reconocer texto utilizando Google ML Kit, con soporte para búsqueda de patrones mediante expresiones regulares.
Características
- 📸 Captura de imágenes desde cámara o galería
- 🔍 Reconocimiento de texto usando Google ML Kit
- 🎯 Búsqueda de patrones usando expresiones regulares
- 🎨 Interfaz totalmente personalizable
- 🌓 Soporte para modo oscuro
- 📱 Diseño responsivo y adaptable
- 📄 Soporte para imagen inicial
- 💾 Devolución del texto reconocido y ruta de la imagen
Instalación
dependencies:
text_recognition_camera: ^0.0.5
Uso
final result = await showDialog<RecognitionResult>(
context: context,
builder: (context) => const TextRecognitionCamera(
title: "Escanear texto",
pattern: r'(\d+)', // Patrón para encontrar números
notFoundMessage: "No se encontró ningún número",
successMessage: "Número encontrado:",
width: 450,
height: 700,
backgroundColor: Color(0xFFFAFAFA),
primaryColor: Color(0xFF1976D2),
successColor: Color(0xFF388E3C),
errorColor: Color(0xFFD32F2F),
// Parámetros de soporte para temas
textColor: Colors.black87,
secondaryTextColor: Colors.black54,
buttonBackgroundColor: Colors.grey[100],
buttonForegroundColor: Colors.grey[800],
containerBackgroundColor: Colors.grey[100],
),
);
if (result != null) {
print('Texto reconocido: ${result.text}');
print('Ruta de la imagen: ${result.imagePath}');
}
Parámetros
title: Título que aparece en la parte superior del diálogopattern: Expresión regular como string para buscar en el texto reconocidonotFoundMessage: Mensaje a mostrar cuando no se encuentra el patrónsuccessMessage: Mensaje a mostrar cuando se encuentra el patrónwidth: Ancho del diálogoheight: Alto del diálogobackgroundColor: Color de fondo del diálogoprimaryColor: Color principal para botones y elementos interactivossuccessColor: Color para mensajes de éxitoerrorColor: Color para mensajes de errorinitialImagePath: Ruta de una imagen inicial para procesar (opcional)textColor: Color principal del texto (opcional, usa el tema si no se especifica)secondaryTextColor: Color de texto secundario e iconos (opcional, usa el tema si no se especifica)buttonBackgroundColor: Color de fondo para botones (opcional, usa el tema si no se especifica)buttonForegroundColor: Color del texto de los botones (opcional, usa el tema si no se especifica)containerBackgroundColor: Color de fondo para contenedores (opcional, usa el tema si no se especifica)
Ejemplo
El paquete incluye un ejemplo completo que muestra cómo implementar un escáner de números de serie de 12 dígitos. Para ejecutar el ejemplo:
cd example
flutter run
Licencia
Este proyecto está bajo la licencia MIT - ver el archivo LICENSE para más detalles.