Skip to main content

Library to detect single digits (0-9) in black/white images

Project description

digitsclassifier

Das Projekt dient zur Erkennung einer gedrukten Ziffer (0-9) in einem Bild.

Build

Inferenz

Die Library erwaretet Bilder mit einem einzigen Zeichen. Das Bild muss Schwarz auf Weis sein. Es wird ein Graustufenbild erwartet. Die Library übernimmt die Binarisierung und auch das restliche aufbereiten / skalieren der Bilder.

Für optimale Ergebnisse sollte ein quadratisches Bild übergeben werden, und es sollte idealerweise mindestens 28x28 Pixel haben.

Das folgende Beispiel zeigt die Verwendung der predict_digits Methode:

from digitsclassifier import predict_digits
import cv2

img = cv2.imread("drei.png", cv2.IMREAD_GRAYSCALE)

chars, probs = predict_digits([img], 1)

print(f'Zeichen "{chars[0][0]} " mit Wahrscheinlichkeit {round((100.0*probs)[0][0], 2)}% erkannt'.)

Neuronales Netz

Das Training des Neuronalen Netz ist nicht Bestandteil dieses Projekts, sondern muss getrennt trainiert werden und dann als src/models/digit_classifier_model.keras abgelegt sein.

Das darunterliegende Keras-Netzwerk erwartet die Bilder im Format 28x28 Pixel, wobel das Zeichen selbst nur die inneren 24x24 Pixel belegen darf, der Rest ist Rand.

Das Netz erwartet die Bilder Weiß auf Schwarz.

Entwicklungsumgebung einrichten

Zum Erzeugen des Paketes wird pdm verwendet.

Library paketieren (lokal)

pdm build

Library Veröffentlichen (PyPi)

Manuell

Zur Veröffentlichung des Projekts einfach

pdm publish -u __token__ -P <Hier dein PyPi-API-Token>

ausführen.

Über Github Actions

Durch das Tagging der Version kann das Publishing auch von Github automatisch durchgeführt werden.

git tag v2.1.0
git push origin v2.1.0

Hierfür muss am Repository aber das API-Token deines Users für das entprechende Paket unter dem Namen PYPI_TOKEN hinterlegt sein.

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

digitsclassifier-2.1.0.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

digitsclassifier-2.1.0-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file digitsclassifier-2.1.0.tar.gz.

File metadata

  • Download URL: digitsclassifier-2.1.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.23.0 CPython/3.12.9 Linux/6.8.0-1021-azure

File hashes

Hashes for digitsclassifier-2.1.0.tar.gz
Algorithm Hash digest
SHA256 f92a971368f4907a33db260559a71defb742b83f9f173886338fcc7ed35b9fff
MD5 c066b7758a19133f5ee22ed81ca685af
BLAKE2b-256 5ad959e1c88297b3cc750e2d7f7d30e5e886354dc3517b89247531fa78e25234

See more details on using hashes here.

File details

Details for the file digitsclassifier-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: digitsclassifier-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.23.0 CPython/3.12.9 Linux/6.8.0-1021-azure

File hashes

Hashes for digitsclassifier-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b3f4e3eb6cbfa65bfd717739da4332b4eaf5e061b2663749f870459d7657ba36
MD5 b3a7c4de08dc1149055b2bc59b3c8062
BLAKE2b-256 4174bf750381314daabf725efa32fe30da1b0d5f55ee0735d27953f0c547a929

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page