Computer-Vision: Dokumentenscanner mit OpenCV und Python | Yacine Rouizi | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Computer-Vision: Dokumentenscanner mit OpenCV und Python

teacher avatar Yacine Rouizi

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      ÜBERSICHT

      1:08

    • 2.

      Installation

      2:22

    • 3.

      Lade das Bild

      1:11

    • 4.

      Bildverarbeitung

      1:30

    • 5.

      Verwende die Kanten, um alle Konturen zu finden

      1:44

    • 6.

      Wähle Nur die Kanten des Dokuments

      3:22

    • 7.

      Wenden Sie die Perspektive der Warp um die Ansicht des Dokuments nach oben zu erhalten

      2:46

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

37

Teilnehmer:innen

--

Projekt

Über diesen Kurs

In diesem Kurs erstellst du einen einfachen Dokumentenscanner, der die OpenCV-Bibliothek und Python verwendet. Dies kann zum Beispiel für das Scannen von Seiten in einem Buch nützlich sein.

Um unser Projekt zu errichten, müssen wir Folgendes benötigen:

  • Umwandlung des Eingangsbildes in Graustufen.
  • Finde die Kanten im Bild mit dem Kantendetektor in der Kanne.
  • Als nächstes können wir diese Kanten verwenden, um die Konturen auf dem Bild zu finden.
  • Und von dort wählen wir nur die Konturen des Dokuments aus.
  • Und schließlich können wir die warp anwenden, um die top-down des Dokuments zu erhalten.

Triff deine:n Kursleiter:in

Teacher Profile Image

Yacine Rouizi

Kursleiter:in

Hi! My name is Yacine Rouizi. I have a Master's level in physics of materials and components and I am a passionate self-taught programmer. I've been programming since 2019 and I teach on my blog about programming, machine learning, and computer vision.

My goal is to make learning accessible to everyone and simplify complex topics, such as computer vision and deep learning, by following a hands-on approach.

Vollständiges Profil ansehen

Level: Beginner

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. ÜBERSICHT: Hallo! In dieser Klasse erstellen Sie einen einfachen Dokumentenscanner mit der OpenCV-Bibliothek und Python. Dies kann beispielsweise nützlich sein, um Seiten in einem Buch zu scannen. Mein Name ist Yassin und ich werde Ihr Lehrer in diesem Kurs sein. Ich programmiere seit 2019. Und ich bin der Autor des Vlogs. Wiederhole nicht yourself.org, wo ich jeden Monat über 5.000 Entwickler habe jeden Monat über 5.000 Entwickler , um mehr über Python, maschinelles Lernen und Computer Vision zu erfahren . unsere Projekte zu erstellen, müssen wir nun das Eingabebild in eine Graustufe konvertieren und die Kanten im Bild mithilfe des Canny-Kantendetektors finden . Als nächstes können wir diese Kanten verwenden, um die Konturen auf dem Bild zu finden. Und von dort aus wählen wir nur die Konturen des Dokuments aus. Und schließlich können wir die so genannte Arbeitsperspektive anwenden , um die Top-Down-Ansicht des Dokuments zu erhalten . Schauen Sie sich die Kursbeschreibung an und ich freue mich darauf, Sie darin zu sehen. 2. Installation: Das erste, was wir tun müssen, ist die Installation der erforderlichen Pakete, die für die Bildverarbeitung nützlich sind. Also werden wir OpenCV und das Nicht-Pi installieren. Beginnen wir zuerst mit OpenCV, öffnen ein neues Terminalfenster und führen den Befehl pip aus, installiere OpenCV polygon. In meinem Fall können Sie sehen, dass ich Open CV bereits installiert habe. Anforderung, bereits erfüllt. Aber ich möchte nur eine virtuelle Umgebung schaffen. So kann das Trio sehen, was Sie erhalten, wenn Sie es installiert haben. Virtuelle Umgebung, oder Sie können am Stromnetz hängen bleiben. Jetzt installieren wir Open CV. Cv. Hier können Sie sehen, dass OpenCV zusammen mit einem offenen CV ohne Pipe erfolgreich installiert wurde . Also muss ich nicht installieren. Hier. Sie können sehen, dass ich CV 4.54.5 geöffnet habe, Umkehrung von OpenCV und die Division von Nicht-Pi ist 1.22.1. Wir müssen andere Pakete installieren. Das erste ist, dass ich ein Mutagenen-Paket mit habe, und wir brauchen auch eine Seitenleiste, die für den Ionic-Stil benötigt wird. Hier sehen Sie, dass die PI die Version 0.51.4 haben. Wir werden wissen, dass der Roman Soapy die Version 1.37 ist. 3. Das Bild laden: Also importieren wir Open CV und können unseren Image-Lebenslauf bis Punkt lesen. Und lassen Sie uns auch die Größe unseres Bildes ändern. Also sagen wir CV-Tool, Los, Bildgröße ändern. Hier sagen wir Breite und Höhe. Der Fortschritt, wir definieren unsere Breite und Höhe. Sagen wir also 600 für die Breite und 800 für die Höhe. Definieren wir auch grüne Farbe. Wir können also sagen, dass Grün 2550 entspricht. Nun der Bildpunkt, wir wollen dieses Haar verwenden und wir wollen hier die Ansicht von oben nach unten dieses Dokuments erhalten. 4. Bildverarbeitung: Jetzt können wir mit der Verarbeitung unseres Bildes beginnen. Also werden wir damit beginnen, es in Graustufen umzuwandeln. Dann wenden wir eine Gaußsche Unschärfe an. Wir können schreiben, gut. I entspricht CV zu Serie D Farbbild, CB2, Farbe BGR zu Grau. Und hier werden wir CB2 Gaußsche Unschärfe lesen. Und schließlich können wir die Kanten mit dem Canny-Detektor erkennen . Also sehen wir V2 dot Carney, unser Bild. Und sagen wir 75 für den ersten Schwellenwert und 200 für den zweiten Schwellenwert. Jetzt können wir unser Bild CB2 Punkt anzeigen, bin ich mir sicher, Nachricht. Und wir können das Bild auch anzeigen. Also dann gehen wir, hier ist unser Originalbild und unser Bild. 5. Mit den Rändern findest du alle Konturen: Jetzt können wir mit dem nächsten Schritt fortfahren, nämlich die Konturen zu finden und herauszuziehen. Wir können also die CB2-Punktfindungsfunktion verwenden , um die Konturen zu finden. Wir können also Konturen zu CB2-Punktkonturen sagen. Und hier stellen wir die Grafschaft oder das Bild zur Verfügung. Hier für den Abrufmodus können wir CV zwei Punkt drei Listen sagen. Und für die Näherungsmethode können wir Jane-Produktsymbol sagen. Jetzt können wir unser Bild anzeigen und dann die Konturen herausziehen und dann unser Bild mit den Konturen erneut anzeigen. Wir können also CV zur Notiz sagen, ich bin mir sicher Bild. Und hier werden wir die Konturen zeichnen. Wir stellen unser Bild, unsere Konturen und das Minusbild , um alles auf den Konturen zu tun. Dann können Sie die grüne Farbe verwenden. Und drei für die Dicke. Mal sehen, was wir bisher haben. Das ist also unser Bild und das die Konturen, nicht wir haben einen Gentleman auf dem Bild. 6. Wähle nur die Ränder des Dokuments aus: Als nächstes müssen wir die größte Kontur im Bild finden. Also diese Kontur hier, denn das wird unser Dokument sein. Was wir also tun können, ist unsere Konturen nach Fläche vom größten zum kleinsten zu sortieren . Wir können die sortierte Funktion verwenden, die eine eingebaute Python-Funktion ist. Also können wir hier schreiben, Konturen sind gleich sortiert. Hier wollen wir also unsere Konturen sortieren und wir können den Bereich unserer Konturen mit der CV 2D Konturflächenfunktion spezifizieren den Bereich unserer Konturen mit der . Und wir wollen sie auch vom größten zum kleinsten sortieren. Also können wir hier schreiben, reverse ist gleich true. In dieser Liste haben wir also zuerst die größten Konturen als die kleinste am Ende der Liste. Als nächstes können wir also diese Liste von Konturen durchgehen. Und dann werden wir Partner in jeder Kontur sehen. Wenn wir dann eine Kontur mit vier Punkten gefunden haben, können wir davon ausgehen, dass wir unser Dokument gefunden haben , damit wir aus der Schleife ausbrechen können. Also können wir hier für Kontur schreiben. Konturen. Um nun die Kontur anzunähern, können wir zuerst ihren Umfang mit dem CV an die Bogenlängenfunktion berechnen . So können wir schreiben, dass der Umfang gleich c v2 Punkt r. ist . Und hier geben wir unsere Kontur an. Und je weiter das zweite Argument, das wir als wahr bezeichnen werden, um anzuzeigen, dass die Kontur geschlossen ist. Jetzt können wir unsere Kontur mit Hilfe der CV an die ca. Poly D p-Funktion annähern unsere Kontur mit Hilfe der CV an die ca. . So können wir flux gleich Cv in die ungefähre Pauly D p schreiben . Und hier geben wir unsere Kontur an. Dann müssen wir die Näherungsgenauigkeit angeben. Wir können das 0,05 fache des Umfangs der Kontur sagen. Und der Header. Wir können „wahr“ sagen, um anzuzeigen , dass die Kontur geschlossen ist. Jetzt können wir überprüfen, ob die ungefähre Kontur vier Punkte hat. Wir können also schreiben, ob die Länge unserer Annäherung gleich vier ist. Was wir also tun können, ist unsere Kontur in einer Variablen zu speichern. Nehmen wir an, die Konturen des Dokuments entsprechen unserer Annäherung. Und jetzt können wir aus der Schleife ausbrechen. 7. Wende Warp an, um die Oben auf das Dokument zu erhalten: Jetzt sind wir bereit, die Top-Down-Ansicht unseres Dokuments zu erhalten . Dafür haben wir also die Vier-Punkte-Transformationsfunktion aus dem Paket IM-Mutanten. Also müssen wir zuerst unsere Funktion importieren. Wir können also aus der Perspektive der Utils sagen, vier Punkte mal eins. Jetzt müssen Sie sich nicht mehr viele Gedanken über diese Funktion machen. Was Sie wissen müssen, ist, dass ein Bild und eine Kontur als Eingabe verwendet und die Top-Down-Ansicht des Bildes zurückgegeben wird. Also können wir hier schreiben, Warped entspricht vier transformierten Punkten. Und hier geben wir unser Originalbild weiter, aber hier haben wir bereits Genom auf unserem Bild. Was wir also tun können, ist eine Kopie unseres Bildes zu machen. Wir können also sagen, dass Image-Kaffee ein Aufruf zu unserer ursprünglichen Bildpunktkopie ist. Und jetzt können wir die Kopie unseres Originalbildes herausnehmen. Also sagen wir Bild kopiere den Kopf. Wir haben unsere Konturen und wir formen sie vier mal zwei neu. Und schließlich können wir unser Bild CB2 dot anzeigen , da bin ich mir sicher. Wir werden auf dem Bild und dem Verzogenen sagen. Und wir werden auch die Größe ändern , um die gleiche Größe wie unser Bild zu erreichen. Wir werden also CV sagen, um die Größe unseres verzerrten Bildes zu ändern. Und wir werden die Breite und Höhe unseres Originalbildes verwenden . Also los geht's. Hier ist unsere Perspektive. Jetzt können Sie sehen, dass die Qualität nicht so gut ist. Und das liegt daran, dass wir eine niedrigere Auflösung verwenden, die 600 mal eine Tangente beträgt. Wenn Sie nun die Originalgröße des Bildes verwenden, erhalten Sie natürlich bessere Ergebnisse.