Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/techbyvj/license-plate-recognition-nodejs
License plate recognition in Nodejs
https://github.com/techbyvj/license-plate-recognition-nodejs
anpr easyocr license-plate-detection license-plate-reader license-plate-recognition lpr nodejs number number-plate-detection number-plate-reader number-plate-recognition number-plate-scanner plate-recognition tesseract-ocr
Last synced: about 1 month ago
JSON representation
License plate recognition in Nodejs
- Host: GitHub
- URL: https://github.com/techbyvj/license-plate-recognition-nodejs
- Owner: techbyvj
- Created: 2024-10-02T14:37:51.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-10-03T07:51:03.000Z (about 1 month ago)
- Last Synced: 2024-10-03T18:05:06.035Z (about 1 month ago)
- Topics: anpr, easyocr, license-plate-detection, license-plate-reader, license-plate-recognition, lpr, nodejs, number, number-plate-detection, number-plate-reader, number-plate-recognition, number-plate-scanner, plate-recognition, tesseract-ocr
- Language: TypeScript
- Homepage:
- Size: 33.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
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:
```bash
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:
```typescript
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) or `null` if not found.
- The recognized text from the license plate or `null` if not recognized.## Dependencies
This package relies on the following main dependencies:
- [@u4/opencv4nodejs](https://www.npmjs.com/package/@u4/opencv4nodejs): For image processing and computer vision tasks.
- [node-tesseract-ocr](https://www.npmjs.com/package/node-tesseract-ocr): For Optical Character Recognition using Tesseract.
- [node-easyocr](https://www.npmjs.com/package/node-easyocr): For Optical Character Recognition using EasyOCR.
- [winston](https://www.npmjs.com/package/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:
1. Clone the repository:
```bash
git clone https://github.com/techbyvj/license-plate-recognition-nodejs.git
```
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
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](https://github.com/techbyvj/license-plate-recognition-nodejs/issues).
## Connect
Follow the author on X (Twitter): [@saidbyvj](https://x.com/saidbyvj)