Zahlen erkennen mit Python

In diesem Artikel möchte ich zeigen, wie man Zahlen mit Python erkennen kann. Das Touchpad vom Laptop benutze ich, um Zahlen zu zeichnen. Dafür verwende ich keras und Tensorflow und einen eigenen Datensatz zum Trainieren und Validieren. Datensatz erstellen Für den Datensatz verwende ich folgenden Python Code. Die Ordnerstruktur muss vorher angelegt sein: Für jede einzelne Ziffer gibt es mindestens 50 Datensätze, insgesamt habe ich 554 Bilder erstellt. Dabei könnte man die Prozedur in 3 Teile gliedern. Die erste Prozedur besteht darin die Zahl zu zeichnen. Dabei entsteht ein Bild von der Größe des Displays, bei mir 1920×1080. Dieses Bild […]

opencv template matching

Viele von euch kennen wahrscheinlich die “Where’s Waldo”, bzw. auf deutsch, “Wo ist Walter” Bilder. Bei den Bildern geht es einzig darum Walter unter den Unmengen anderer Personen zu finden. Teils gar nicht so einfach. Ich habe hier ein Beispiel, womit wir Walter anhand opencv template matching finden und ihn kenntlich machen. Dazu habe ich 2 Bilder vorbereitet. Das erste ist das Gesicht vom Walter. Nach diesem kleinen Schnipsel wird opencv nachher das komplette Bild absuchen. Wer natürlich Lust hat, kann Walter vorher suchen. Diese Arbeit musste ich vorab schon machen, um das Gesicht als Bild zu haben, die Arbeit habt […]

Nabu Vogelliste als Pandas Dataframe

Die Nabu hält alljährlich eine Gartenvögelzählung ab, bei denen unter anderem private Personen gesichtete Vögel an einem Tag zählen und übermitteln können. Diese Liste stellt die Nabu dann auf deren Internetpräsenz zur Verfügung. Angezeigt wird die Vogelart, die Anzahl, die Vögel pro Garten und ein Vergleich zum Vorjahr. Filtern könnt ihr nach Jahr, Bundesland, Vogelart und Landkreis/Stadt. Dies vorab als kleine Beschreibung, um was für eine Liste es sich handelt, die wir uns zu eigen machen. Am einfachsten lässt sich die Nabu Vogelliste als Pandas Dataframe darstellen, wenn wir BeautifulSoup benutzen. Mit Hilfe dieser Bibliothek lassen sich XML und HTML […]

LED-Streifen mit offline Sprachassistenten steuern

Da ich mittlerweile eine eigene kleine Sprachbox in meinem Beitrag Offline Sprachassistent mit Python erstellt habe, sollte diese natürlich auch Aktionen ausführen. Als erste Aktion wollte ich meine LED-Streifen mit dem offline Sprachassistenten steuern. Dafür habe ich in dem oben genannten Beitrag schon viel Arbeit davon erklärt. Anstatt des Klemmbretts habe ich jetzt eine kleine Platine benutzt und die benötigten Komponenten verlötet. Die Platine habe ich dann in einem alten Raspberry PI Gehäuse verbaut. Bei den LED-Streifen habe ich darauf geachtet, das diese über USB und dementsprechend 5V laufen. Zum Einsatz kommen die Govee LED Streifen mit 3m, die ich […]

Offline Sprachassistent mit Python

Ich habe schon immer mit einem Sprachassistenten geliebäugelt. Der teils vorhandene onlinezwang sowie die Erforderlichkeit den Sprachassistenten mit google, amazon, etc. zu verbinden, haben mich davor abgehalten einen zu ordern. Jetzt habe ich mir einen eigenen offline Sprachassistent mit Python erstellt. Als Spracherkennungsbibliothek verwende ich vosk. Vosk unterstützt mehr als 20 Sprachen, darunter auch deutsch und englisch. Die Spracherkennung funktioniert offline und sogar auf lightweight devices wie den Raspberry Pi. Zur Einrichtung benötigen wir ein auf deutsch trainiertes Model. Von Vosk werden welche bereitgestellt, ihr könnt aber auch eigene Modelle erstellen. Installation und Einrichtung Die Installation von Vosk erledigen wir […]

Dash callbacks

Wer mit Dash arbeiten möchte, wird nicht um das Thema Dash callbacks drum rum kommen. Callbacks benutzen wir, um mit dem Dashboard zu interagieren, somit erhalten wir neue Visualisierungsmöglichkeiten. Die Installation von Dash ist in meinem Beitrag Plotly Dash installieren und einrichten beschrieben. Abhängigkeiten laden Um Dash lauffähig zu machen, müsst ihr sogenannte Komponenten laden. Dies sind unter anderem  dash_core_components – stellt uns unter anderem Dropdowns, Sliders, Checkboxen, etc. zur Verfügung. Mit diesem Komponenten können wir mit Dash interargieren. dash_html_components – bietet eine Palette an HTML Komponenten wie Div, Img, Table, etc. an. Diese Komponenten sind, wie der Name schon sagt, mit HTML gleichzusetzen. Dash oder JupyterDash – Standardmäßig wird Dash über den Browser aufgerufen. Mit […]

Kontostand Dashboard

Wäre es nicht interessant den eigenen Kontostand zu beobachten? Somit zu erfahren, ob wirklich Geld im Monat übrig bleibt oder zu viel ausgegeben wurde? Diese Idee kam mir vor einiger Zeit. In der Banking-App sehe ich nur den Verlauf meiner Ausgaben und Einnahmen. Allerdings nicht, ob am Ende eines Monats Geld übrig geblieben ist. Erschwerend kommt noch hinzu, dass ich viel mit dem Geld jongliere und auf mehrere Konten verteile. Das führt dazu, dass die grafischen Anzeigen der Bank wirres Zeug anzeigen. Um diesen Problem Herr zu werden, habe ich es mir zur Aufgabe gemacht, jeden Monat zum 1. meine […]

DVWA mit Docker

Es ist zwar schon eine Weile her, wo ich über DVWA(Damn Vulnerable Web Application) geschrieben habe, aber ich möchte die Installation von DVWA mit Docker nicht vorenthalten. Im damaligen Artikel hatte ich die Installation mit dem Package-Manager, bzw. github beschrieben. Dort hatte ich die Datenbank und weiteres händisch aufbereitet. Einfacher ist somit also die Installation über Docker. Naheliegend, dass Docker vorerst installiert ist, danach ist die Integration ein einfaches und kann mit einer Zeile Code installiert werden. Docker Installation Solltet ihr vorhaben, einen neuen Server zu installieren, Docker ist bei der Ubuntu-server Installation als Package bei der Installation auswählbar. Habt […]

Plotly Dash installieren und einrichten

Plotly Dash Installation Um Dash verwenden können, installieren wir die Anforderungen. Damit die Pakete nicht mit anderen in die Quere kommen, machen wir das ganze in einer virtuelle Umgebung. Zusätzlich installieren wir folgende Pakete über den Package-Manager pip3. Das wärs schon bezüglich der Installation. Ich möchte euch hier jetzt ein Beispiel aus der Dash Dokumentation zeigen. Das Beispiel könnt ihr direkt testen, indem ihr den Code in eine Datei packt und diese mit ausführt. Per Default ist die Seite nur über localhost über den Port 3000 erreichbar. Ihr könnt den Host + Port allerdings ändern. Ersetzt dafür die letzte Zeile […]

Image Crawler Python

Möchte man sein Machine Learning Model eigenständig trainieren, ist es teilweise hilfreich einige Bilder zur Verfügung zu haben. Lass uns einfach mal davon ausgehen, dass unser Neuronales Netzwerk eine Katze erkennen soll. So sollten wir tausende Bilder von Katzen aus dem Netz laden, um unser Model erfolgreich trainieren zu können. Die Katzen wären die positiven Ergebnisse und z.B. Hunde, Häuser, Kühe die negativen. Anhand dieser Konstellation zwischen positiven und negativen Bildern, kann unser Netzwerk die Katze klassifizieren. Dazu habe ich ein Python Skript geschrieben. Je nachdem was die Keywörter sind, sucht es passende Bilder. Die Bilder werden heruntergeladen, verkleinert und […]