Fast and accurate text detection library built on CRAFT implementation
Project description
CRAFT: Character-Region Awareness For Text detection
Packaged, Pytorch-based, easy to use, cross-platform version of the CRAFT text detector | Paper |
Overview
PyTorch implementation for CRAFT text detector that effectively detect text area by exploring each character region and affinity between characters. The bounding box of texts are obtained by simply finding minimum bounding rectangles on binary map after thresholding character region and affinity scores.
Getting started
Installation
- Install using conda for Linux, Mac and Windows (preferred):
conda install -c fcakyon craft-text-detector
- Install using pip for Linux and Mac:
pip install craft-text-detector
Basic Usage
# import Craft class
from craft_text_detector import Craft
# set image path and export folder directory
image_path = 'figures/idcard.png'
output_dir = 'outputs/'
# create a craft instance
craft = Craft(output_dir=output_dir, crop_type="poly", cuda=False)
# apply craft text detection and export detected regions to output directory
prediction_result = craft.detect_text(image_path)
# unload models from ram/gpu
craft.unload_craftnet_model()
craft.unload_refinenet_model()
Advanced Usage
# import craft functions
from craft_text_detector import (
read_image,
load_craftnet_model,
load_refinenet_model,
get_prediction,
export_detected_regions,
export_extra_results,
empty_cuda_cache
)
# set image path and export folder directory
image_path = 'figures/idcard.png'
output_dir = 'outputs/'
# read image
image = read_image(image_path)
# load models
refine_net = load_refinenet_model(cuda=True)
craft_net = load_craftnet_model(cuda=True)
# perform prediction
prediction_result = get_prediction(
image=image,
craft_net=craft_net,
refine_net=refine_net,
text_threshold=0.7,
link_threshold=0.4,
low_text=0.4,
cuda=True,
long_size=1280
)
# export detected text regions
exported_file_paths = export_detected_regions(
image_path=image_path,
image=image,
regions=prediction_result["boxes"],
output_dir=output_dir,
rectify=True
)
# export heatmap, detection points, box visualization
export_extra_results(
image_path=image_path,
image=image,
regions=prediction_result["boxes"],
heatmaps=prediction_result["heatmaps"],
output_dir=output_dir
)
# unload models from gpu
empty_cuda_cache()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
craft-text-detector-0.3.1.tar.gz
(15.3 kB
view hashes)
Built Distribution
Close
Hashes for craft-text-detector-0.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7bd30b677b0cdf02ff57ff8e9c5b0bd9514396164c0e61ccf87732ee0064a8a |
|
MD5 | 36adbce8b81811ffc2ea83a767f33441 |
|
BLAKE2b-256 | de15f8df6282deffda19341fba17c129114fb6872bcba2eab24d6e231279f640 |
Close
Hashes for craft_text_detector-0.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 990edb1c6e9d5a512fa3d9d899c178aee9dfd5ddeec309e46ccf91e87bd2bfd8 |
|
MD5 | 9f4d7841c7af8a37917cf9926a204dc3 |
|
BLAKE2b-256 | 1ea89cc50a7cc62353af8d60263ba84f168127696325a1fa1ec7a90169690e87 |