A Node.js package for license plate recognition using OpenCV and OCR.
This package provides a robust solution for recognizing license plates in images. It uses computer vision techniques with OpenCV for plate detection and multiple OCR engines for text extraction.
- License plate detection in images
- Text recognition from detected license plates using multiple OCR engines (Tesseract and EasyOCR)
- Logging of recognition process
- Saving of original and processed images
To install the package, run:
npm install license-plate-recognizer
- Node.js (version 12 or higher recommended)
- OpenCV (automatically installed via @u4/opencv4nodejs)
- Tesseract OCR (must be installed separately on your system)
Here's a basic example of how to use the package:
import { recognizeLicensePlate } from 'license-plate-recognizer';
const imagePath = 'path/to/your/image.jpg';
recognizeLicensePlate(imagePath)
.then(([licensePlate, text]) => {
if (licensePlate && text) {
console.log(`Detected license plate: ${text}`);
} else {
console.log('No license plate detected');
}
})
.catch(error => console.error('Error:', error));
Processes an image and attempts to recognize a license plate.
imagePath
: The path to the image file.- Returns: A Promise that resolves to a tuple containing:
- The detected license plate image (
cv.Mat
object) ornull
if not found. - The recognized text from the license plate or
null
if not recognized.
- The detected license plate image (
This package relies on the following main dependencies:
- @u4/opencv4nodejs: For image processing and computer vision tasks.
- node-tesseract-ocr: For Optical Character Recognition using Tesseract.
- node-easyocr: For Optical Character Recognition using EasyOCR.
- winston: For logging.
Make sure to install Tesseract OCR on your system for text recognition to work properly. EasyOCR is included as a fallback OCR engine.
Processed images are saved in an output
directory, organized by date. The original image and the cropped license plate image (if detected) are both saved.
To set up the development environment:
- Clone the repository:
git clone https://github.com/techbyvj/license-plate-recognition-nodejs.git
- Install dependencies:
npm install
- Build the project:
npm run build
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the ISC License.
If you encounter any problems or have suggestions, please file an issue on the GitHub repository.
Follow the author on X (Twitter): @saidbyvj