diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:50:06 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:50:06 +0000 |
commit | d6e0bbc49c5650da55329cf00a803b53556862d1 (patch) | |
tree | 9917384743d43ce7ec37b5a12aa92664d4f7659f /python-craft-text-detector.spec | |
parent | 64bb0b00f8631bdf48710287622aab186ba0b100 (diff) |
automatic import of python-craft-text-detector
Diffstat (limited to 'python-craft-text-detector.spec')
-rw-r--r-- | python-craft-text-detector.spec | 404 |
1 files changed, 404 insertions, 0 deletions
diff --git a/python-craft-text-detector.spec b/python-craft-text-detector.spec new file mode 100644 index 0000000..986cb4a --- /dev/null +++ b/python-craft-text-detector.spec @@ -0,0 +1,404 @@ +%global _empty_manifest_terminate_build 0 +Name: python-craft-text-detector +Version: 0.4.3 +Release: 1 +Summary: Fast and accurate text detection library built on CRAFT implementation +License: MIT +URL: https://github.com/fcakyon/craft_text_detector +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7d/60/474d6ebd09c6db746a49af2dee0ac48547c6df35c3eee48056193677c794/craft-text-detector-0.4.3.tar.gz +BuildArch: noarch + +Requires: python3-torch +Requires: python3-torchvision +Requires: python3-opencv-python +Requires: python3-scipy +Requires: python3-gdown + +%description +# CRAFT: Character-Region Awareness For Text detection + +<p align="center"> +<a href="https://pepy.tech/project/craft-text-detector"><img src="https://pepy.tech/badge/craft-text-detector" alt="downloads"></a> +<a href="https://pypi.org/project/craft-text-detector"><img src="https://img.shields.io/pypi/pyversions/craft-text-detector" alt="downloads"></a> +<a href="https://twitter.com/fcakyon"><img src="https://img.shields.io/twitter/follow/fcakyon?color=blue&logo=twitter&style=flat" alt="fcakyon twitter"> +<br> +<a href="https://github.com/fcakyon/craft-text-detector/actions"><img alt="Build status" src="https://github.com/fcakyon/craft-text-detector/actions/workflows/ci.yml/badge.svg"></a> +<a href="https://badge.fury.io/py/craft-text-detector"><img src="https://badge.fury.io/py/craft-text-detector.svg" alt="PyPI version" height="20"></a> +<a href="https://github.com/fcakyon/craft-text-detector/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/pypi/l/craft-text-detector"></a> +</p> + +Packaged, Pytorch-based, easy to use, cross-platform version of the CRAFT text detector | [Paper](https://arxiv.org/abs/1904.01941) | + +## 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. + +<img width="1000" alt="teaser" src="./figures/craft_example.gif"> + +## Getting started + +### Installation + +- Install using pip: + +```console +pip install craft-text-detector +``` + +### Basic Usage + +```python +# import Craft class +from craft_text_detector import Craft + +# set image path and export folder directory +image = 'figures/idcard.png' # can be filepath, PIL image or numpy array +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) + +# unload models from ram/gpu +craft.unload_craftnet_model() +craft.unload_refinenet_model() +``` + +### Advanced Usage + +```python +# 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 = 'figures/idcard.png' # can be filepath, PIL image or numpy array +output_dir = 'outputs/' + +# read image +image = read_image(image) + +# 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=image, + regions=prediction_result["boxes"], + output_dir=output_dir, + rectify=True +) + +# export heatmap, detection points, box visualization +export_extra_results( + image=image, + regions=prediction_result["boxes"], + heatmaps=prediction_result["heatmaps"], + output_dir=output_dir +) + +# unload models from gpu +empty_cuda_cache() +``` + + + + +%package -n python3-craft-text-detector +Summary: Fast and accurate text detection library built on CRAFT implementation +Provides: python-craft-text-detector +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-craft-text-detector +# CRAFT: Character-Region Awareness For Text detection + +<p align="center"> +<a href="https://pepy.tech/project/craft-text-detector"><img src="https://pepy.tech/badge/craft-text-detector" alt="downloads"></a> +<a href="https://pypi.org/project/craft-text-detector"><img src="https://img.shields.io/pypi/pyversions/craft-text-detector" alt="downloads"></a> +<a href="https://twitter.com/fcakyon"><img src="https://img.shields.io/twitter/follow/fcakyon?color=blue&logo=twitter&style=flat" alt="fcakyon twitter"> +<br> +<a href="https://github.com/fcakyon/craft-text-detector/actions"><img alt="Build status" src="https://github.com/fcakyon/craft-text-detector/actions/workflows/ci.yml/badge.svg"></a> +<a href="https://badge.fury.io/py/craft-text-detector"><img src="https://badge.fury.io/py/craft-text-detector.svg" alt="PyPI version" height="20"></a> +<a href="https://github.com/fcakyon/craft-text-detector/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/pypi/l/craft-text-detector"></a> +</p> + +Packaged, Pytorch-based, easy to use, cross-platform version of the CRAFT text detector | [Paper](https://arxiv.org/abs/1904.01941) | + +## 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. + +<img width="1000" alt="teaser" src="./figures/craft_example.gif"> + +## Getting started + +### Installation + +- Install using pip: + +```console +pip install craft-text-detector +``` + +### Basic Usage + +```python +# import Craft class +from craft_text_detector import Craft + +# set image path and export folder directory +image = 'figures/idcard.png' # can be filepath, PIL image or numpy array +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) + +# unload models from ram/gpu +craft.unload_craftnet_model() +craft.unload_refinenet_model() +``` + +### Advanced Usage + +```python +# 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 = 'figures/idcard.png' # can be filepath, PIL image or numpy array +output_dir = 'outputs/' + +# read image +image = read_image(image) + +# 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=image, + regions=prediction_result["boxes"], + output_dir=output_dir, + rectify=True +) + +# export heatmap, detection points, box visualization +export_extra_results( + image=image, + regions=prediction_result["boxes"], + heatmaps=prediction_result["heatmaps"], + output_dir=output_dir +) + +# unload models from gpu +empty_cuda_cache() +``` + + + + +%package help +Summary: Development documents and examples for craft-text-detector +Provides: python3-craft-text-detector-doc +%description help +# CRAFT: Character-Region Awareness For Text detection + +<p align="center"> +<a href="https://pepy.tech/project/craft-text-detector"><img src="https://pepy.tech/badge/craft-text-detector" alt="downloads"></a> +<a href="https://pypi.org/project/craft-text-detector"><img src="https://img.shields.io/pypi/pyversions/craft-text-detector" alt="downloads"></a> +<a href="https://twitter.com/fcakyon"><img src="https://img.shields.io/twitter/follow/fcakyon?color=blue&logo=twitter&style=flat" alt="fcakyon twitter"> +<br> +<a href="https://github.com/fcakyon/craft-text-detector/actions"><img alt="Build status" src="https://github.com/fcakyon/craft-text-detector/actions/workflows/ci.yml/badge.svg"></a> +<a href="https://badge.fury.io/py/craft-text-detector"><img src="https://badge.fury.io/py/craft-text-detector.svg" alt="PyPI version" height="20"></a> +<a href="https://github.com/fcakyon/craft-text-detector/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/pypi/l/craft-text-detector"></a> +</p> + +Packaged, Pytorch-based, easy to use, cross-platform version of the CRAFT text detector | [Paper](https://arxiv.org/abs/1904.01941) | + +## 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. + +<img width="1000" alt="teaser" src="./figures/craft_example.gif"> + +## Getting started + +### Installation + +- Install using pip: + +```console +pip install craft-text-detector +``` + +### Basic Usage + +```python +# import Craft class +from craft_text_detector import Craft + +# set image path and export folder directory +image = 'figures/idcard.png' # can be filepath, PIL image or numpy array +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) + +# unload models from ram/gpu +craft.unload_craftnet_model() +craft.unload_refinenet_model() +``` + +### Advanced Usage + +```python +# 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 = 'figures/idcard.png' # can be filepath, PIL image or numpy array +output_dir = 'outputs/' + +# read image +image = read_image(image) + +# 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=image, + regions=prediction_result["boxes"], + output_dir=output_dir, + rectify=True +) + +# export heatmap, detection points, box visualization +export_extra_results( + image=image, + regions=prediction_result["boxes"], + heatmaps=prediction_result["heatmaps"], + output_dir=output_dir +) + +# unload models from gpu +empty_cuda_cache() +``` + + + + +%prep +%autosetup -n craft-text-detector-0.4.3 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-craft-text-detector -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.4.3-1 +- Package Spec generated |