Vision par ordinateur : scanner de documents avec OpenCV et Python | Yacine Rouizi | Skillshare

Vitesse de lecture


1.0x


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

Vision par ordinateur : scanner de documents avec OpenCV et Python

teacher avatar Yacine Rouizi

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      VUE D'ENSEMBLE

      1:08

    • 2.

      Installation

      2:22

    • 3.

      Chargez l'image

      1:11

    • 4.

      Traitement d'image

      1:30

    • 5.

      Utilisez les bords pour trouver tous les contours

      1:44

    • 6.

      Sélectionnez seulement les bords du document

      3:22

    • 7.

      Appliquez une perspective de découpe pour obtenir la vue supérieure du document

      2:46

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

37

apprenants

--

projet

À propos de ce cours

Dans ce cours, vous allez créer un scanner de documents simple à l'aide de la bibliothèque OpenCV et Python. Cela peut être utile, par exemple, pour numériser des pages dans un livre.

Maintenant, pour construire notre projet, nous devrons de :

  • Convertissez l'image d'entrée en échelle de gris.
  • Trouvez les bords de l'image à l'aide du détecteur de bord cannelé.
  • Ensuite, nous pouvons utiliser ces bords pour trouver les contours sur l'image.
  • Et à partir de là, nous ne sélectionnerons que les contours du document.
  • Et enfin, nous pouvons appliquer une perspective de chaîne pour obtenir la vue supérieure du document.

Rencontrez votre enseignant·e

Teacher Profile Image

Yacine Rouizi

Enseignant·e

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.

Voir le profil complet

Level: Beginner

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. VUE D'ENSEMBLE: Bonjour. Dans cette classe, vous allez créer un scanner de documents simple à l'aide la bibliothèque OpenCV et de Python. Cela peut être utile, par exemple, pour numériser des pages d'un livre. m'appelle Yassin et je serai votre instructeur dans ce cours. Je programme depuis 2019. Et je suis l'auteur du vlog. Ne répétez pas yourself.org, où j'ai plus de 5 000 développeurs par mois pour en savoir plus sur Python, l'apprentissage automatique et la vision par ordinateur. Maintenant, pour construire nos projets, nous devons convertir l'image d'entrée en gris et trouver les bords de l'image à l'aide d' un détecteur de bord astucieux. Ensuite, nous pouvons utiliser ces bords pour trouver les contours de l'image. Et à partir de là, nous ne sélectionnerons que les contours du document. Enfin, nous pouvons appliquer ce que nous appelons la perspective professionnelle pour obtenir une vue du haut vers le bas du document, n'hésitez pas à consulter la description du cours et j'ai hâte de vous voir à l'intérieur. 2. Installation: La première chose à faire est d'installer les packages nécessaires pour le traitement des images. Nous allons donc installer OpenCV et le non pi. Commençons par OpenCV, ouvrons une nouvelle fenêtre de terminal et exécutons la commande pip, installons OpenCV Polygon. Dans mon cas, vous pouvez voir que j' ai ouvert CV déjà installé. Exigence, déjà satisfaite. Mais je veux juste créer un environnement virtuel. Ainsi, le trio peut voir ce que vous obtenez lorsque vous l'avez installé. Environnement virtuel, ou vous pouvez être bloqué sur le réseau. Maintenant, installons Open CV. CV. Vous pouvez voir ici qu' OpenCV a été installé avec succès avec un CV ouvert sans tube. Je n'ai donc pas besoin de l'installer. Ici. Vous pouvez voir que j'ai ouvert CV 4.54.5, l' inversion d'OpenCV et la division de non pi est de 1.22.1. Nous devons installer d'autres packages. La première est que je suis un paquet de mutagènes, et nous avons également besoin d'une barre latérale, qui est nécessaire pour le style ionique. Vous pouvez voir ici que les PI ont la version 0.51.4. Nous saurons que le roman Some Soapy est la version 1.37. 3. Charger l'image: Nous allons donc importer Open CV et nous pouvons lire notre CV image au point. Et redimensionnons également notre image. Nous allons donc dire outil CV, lot, redimensionner l'image. Ici, nous allons dire largeur et hauteur. Pour ce qui est de l'avancement, nous définirons notre largeur et notre hauteur. Disons 600 pour la largeur et 800 pour la hauteur. Définissons également la couleur verte. On peut donc dire que le vert est égal à 2550. Maintenant le point de l'image, nous voulons utiliser ces cheveux et obtenir une vue de haut en bas de ce document ici. 4. Traitement d'image: Nous pouvons maintenant commencer à traiter notre image. Nous allons donc commencer par le convertir en niveaux de gris. Ensuite, nous appliquerons un flou gaussien. On peut écrire, bien. I est égal à CV à l' image couleur de la série D, CB2, couleur BGR à gris. Et ici, nous allons lire le flou gaussien CB2. Enfin, nous pouvons détecter les bords à l'aide du détecteur Canny. Nous allons donc voir V2 point Carney, notre image. Et disons 75 pour le premier seuil et 200 pour le second seuil. Maintenant, nous pouvons afficher notre image CB2 point, j'en suis sûr, message. Et nous pouvons également afficher l'image. Alors on y va, voici notre image originale et notre image. 5. Utilisez les bords pour trouver tous les contours: Nous pouvons maintenant passer à l'étape suivante, qui consiste à trouver et à dessiner les contours. Nous pouvons donc utiliser la fonction CB2 point find contours pour trouver les contours. Nous pouvons donc dire des contours à des contours ponctuels CB2. Et ici, nous fournissons le comté ou l'image. Ici, pour le mode de récupération, on peut dire CV deux points trois listes. Et pour la méthode d' approximation, on peut dire le symbole des produits Jane. Nous pouvons maintenant afficher notre image, puis dessiner les contours, puis réafficher notre image avec les contours. On peut donc dire CV à note, je suis sûr image. Et ici, nous allons dessiner les contours. Nous fournissons notre image, nos contours et le point négatif pour tout faire sur les contours. Ensuite, vous pouvez utiliser la couleur verte. Et trois pour l'épaisseur. Voyons ce que nous allons faire jusqu'ici. C'est donc notre image et ce sont les contours, pas un gentleman sur l'image. 6. Sélectionnez uniquement les bords du document: Ensuite, nous devons trouver le plus grand contour de l'image. Voici donc ce contour, parce que ce sera notre document. Nous pouvons donc trier nos contours par zone, du plus grand au plus petit. Nous pouvons utiliser la fonction sorted, qui est une fonction Python intégrée. Nous pouvons donc écrire ici, les contours sont égaux à triés. Nous voulons donc ici trier nos contours et spécifier l'aire de nos contours à l' aide de la fonction de zone de contour CV 2D. Et nous voulons également les trier du plus grand au plus petit. Nous pouvons donc écrire ici, inverse est égal à vrai. Donc, dans cette liste, nous aurons les contours les plus grands en premier que le plus petit à la fin de la liste. Ensuite, ce que nous pouvons faire est de parcourir cette liste de contours. Ensuite, nous verrons des partenaires sur chaque contour. Ensuite, si nous trouvons un contour à quatre points, nous pouvons supposer que nous avons trouvé notre document afin de sortir de la boucle. Nous pouvons donc écrire ici pour le contour. Contours. Maintenant, pour approximer le contour, nous pouvons d'abord calculer son périmètre en utilisant le CV de la fonction de longueur de l'arc. Nous pouvons donc écrire que le périmètre est égal à c v2 point r. Et ici nous fournissons notre contour. Et plus le second argument est éloigné, nous dirons vrai pour indiquer que le contour est fermé. Nous pouvons maintenant approximer notre contour à l'aide de la fonction CV to approx, poly D p. Ainsi, nous pouvons écrire le flux égal à Cv dans la valeur approximative de Pauly D p. et nous fournissons ici notre contour. Ensuite, nous devons spécifier la précision de l' approximation. On peut dire 0,05 fois le périmètre du contour. Et l'en-tête. On peut dire vrai pour indiquer que le contour est fermé. Nous pouvons maintenant vérifier si le contour approximatif comporte quatre points. Nous pouvons donc écrire si la longueur de notre approximation est égale à quatre. Ce que nous pouvons faire est donc de stocker notre contour dans une variable. Supposons que les contours du document soient conformes à notre approximation. Et maintenant, nous pouvons sortir de la boucle. 7. Appliquer la perspective de mise en place pour obtenir la vue supérieure du document: Nous sommes maintenant prêts à obtenir la vue de haut en bas de notre document. Pour cela, nous avons la fonction de transformation en quatre points du package IM mutants. Nous devons donc d'abord importer notre fonction. Donc, du point de vue des utilitaires, on peut dire quatre points fois un. Désormais, vous n'avez plus à vous soucier trop de cette fonction. Ce que vous devez savoir, c'est qu'il prend une image et un contour en entrée, et qu'il renvoie la vue de haut en bas de l'image. Nous pouvons donc écrire ici, warped est égal à quatre points transformés. Et ici, nous transmettons notre image d'origine, mais ici nous avons déjà le génome sur notre image. Donc, ce que nous pouvons faire, c'est prendre une copie de notre image. Nous pouvons donc dire que l'image café est un appel à notre copie point de l'image originale. Et maintenant, nous pouvons sortir la copie de notre image originale. Nous dirons donc que l'image copie la tête. Nous avons nos contours et nous les remodelons quatre par deux. Et enfin, nous pouvons afficher notre image, CB2 point, j'en suis sûr. Nous dirons sur l' image et sur le déformé. Et nous allons également le redimensionner pour obtenir la même taille que notre image. Nous allons donc dire CV pour redimensionner notre image déformée. Et nous utiliserons la largeur et la hauteur de notre image d'origine. Alors on y va. Voici notre point de vue. Maintenant, vous pouvez voir que la qualité n'est pas très bonne. Et c'est parce que nous utilisons une résolution plus faible, qui est de 600 par une tangente. Maintenant, si vous utilisez la taille d'origine de l'image, vous obtiendrez bien sûr de meilleurs résultats.