license-plate-recognizer
v1.0.3
Published
A Node.js package for license plate recognition using OpenCV and OCR
Downloads
307
Maintainers
Readme
License Plate Recognizer
A Node.js package for license plate recognition using OpenCV and OCR.
Description
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.
Features
- 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
Installation
To install the package, run:
npm install license-plate-recognizer
Prerequisites
- Node.js (version 12 or higher recommended)
- OpenCV (automatically installed via @u4/opencv4nodejs)
- Tesseract OCR (must be installed separately on your system)
Usage
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));
API
recognizeLicensePlate(imagePath: string): Promise<[cv.Mat | null, string | null]>
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 (
Dependencies
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.
Output
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.
Development
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
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the ISC License.
Issues
If you encounter any problems or have suggestions, please file an issue on the GitHub repository.
Connect
Follow the author on X (Twitter): @saidbyvj