This module is essential for preprocessing receipt images to improve visual quality and facilitate automatic analysis.
Project description
Receipt Enhancer
Receipt Enhancer is a Python module designed to enhance and process images of receipts. It provides various functionalities for improving the quality of receipt images, including converting to grayscale, detecting lines using the Hough transform, enhancing local contrast, adaptive thresholding, and more.
Features
- Convert to Grayscale: Converts the input image to grayscale for further processing.
- Hough Line Detection: Detects lines in the image using the Hough transform, useful for identifying borders and text regions.
- Densest Region Detection: Finds the densest region of lines in the image, often indicating the center of the receipt.
- Image Rotation Correction: Corrects the rotation of the image based on detected lines.
- Adaptive Local Contrast Enhancement: Enhances the local contrast of the image to improve visibility of text and details.
- Adaptive Weighting: Adjusts the intensity of image pixels based on local statistics to improve overall quality.
- Adaptive Binary Thresholding: Applies adaptive binary thresholding to segment the image into foreground and background regions.
Installation
You can install Receipt Enhancer using pip:
pip install receipt-enhancer
Usage
from receipt_enhancer import ReceiptEnhancer
import cv2
# Initialize ReceiptEnhancer
enhancer = ReceiptEnhancer()
# Load an image
image = cv2.imread('receipt_image.jpg')
# Example Usage:
# Convert to grayscale
grey_image = enhancer.convert_to_greyscale(image)
# Detect lines using Hough transform
lines = enhancer.get_hough_lines(image, length=(50, 100), min_distance=(20, 50))
# Find densest region
densest_x, densest_y = enhancer.find_densest_region(image, lines)
# Correct rotation
corrected_image = enhancer.rotation_fix_hough_based(image, lines)
# Enhance local contrast
contrast_enhanced_image = enhancer.adaptive_local_contrast(image)
# Apply adaptive weighting
weighted_image = enhancer.adaptative_weight(image)
# Apply adaptive binary thresholding
binary_image = enhancer.adaptive_binary_threshold(image)
Contributions
Contributions are welcome! If you have any suggestions, feature requests, or bug reports, please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file receipt_enhancer-0.1.8.tar.gz
.
File metadata
- Download URL: receipt_enhancer-0.1.8.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.2 Linux/6.1.0-23-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 875974bf6ef5978a005e20acc7a59e6bde5d23e17ffab2ed07f16e8d51a52f6a |
|
MD5 | 7994f4f031275a3241b4172c67db0a05 |
|
BLAKE2b-256 | cd55de5fceb8a5072207f1fa992f13d83271b2af085e7582216245c2cee0dfc3 |
File details
Details for the file receipt_enhancer-0.1.8-py3-none-any.whl
.
File metadata
- Download URL: receipt_enhancer-0.1.8-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.2 Linux/6.1.0-23-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de6d5a99203050ae88e41e515aa009cae738f19bb88f557061370663f64f0644 |
|
MD5 | 6e80e01752b7359b4b13a2b34473f584 |
|
BLAKE2b-256 | b32e863361b75ddd0041c8d91a7c6c8ee5bbcf5b4d4042a1d5fa79c37a572d3a |