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.

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.0.1
git push origin v2.0.1

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.0.1.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.0.1-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: digitsclassifier-2.0.1.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.0.1.tar.gz
Algorithm Hash digest
SHA256 6fca62686ac251bd5b4e9352dc98f3063c428de2a182660ff8ce311cd2562c31
MD5 dd4b72852ab35849a2b3901b3a923a7d
BLAKE2b-256 773e715fc8008f8fc91929b03596455e5a8ac504c685a86e1bd8ed7360250298

See more details on using hashes here.

File details

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

File metadata

  • Download URL: digitsclassifier-2.0.1-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.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e4ee66eba72dc8070b4f04989c8ab85aafd0bf76ab247a545e1a91db6d13d9db
MD5 21cbf02e662f704e33f176eab0946bf8
BLAKE2b-256 0bea929d2659d987ed253ac7a1ecdbd563d7fbaf6ce37f7233cd84716844d0db

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