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: 7 months 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 year ago)
 - Default Branch: main
 - Last Pushed: 2024-10-03T07:51:03.000Z (about 1 year ago)
 - Last Synced: 2025-04-07T12:18:20.644Z (7 months 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: 4
 - Watchers: 1
 - Forks: 1
 - 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)