Vision par ordinateur avec OpenCV et Python

Contenu

Cet article a été publié dans le cadre du Blogathon sur la science des données

introduction

Les données sont souvent définies comme des faits bruts. L'information fait référence à toute quantité ou quantité de données qui ont été traitées et qui ont plus de valeur que les faits bruts eux-mêmes. La principale différence est que les décisions et les actions peuvent être prises sur la base de l'étude des informations. non Baser les décisions et les actions sur les données, seulement des informations.

41245sources_of_data_collection-6405231

La source: Mec studieux

résumé

Suite à notre Article précédent et vision par ordinateur, maintenant, nous allons explorer davantage le monde de la vision par ordinateur dans le langage de programmation Python, en utilisant le package Python OpenCV. Cet article va nous montrer comment effectuer certaines des nombreuses opérations qu'OpenCV propose dans le langage de programmation Python.. Dans l'article précédent, Nous examinons le bloc de code suivant et nous allons maintenant examiner d'autres aspects dans cet article.

importer cv2
# chargez-le en mode couleur NIVEAU DE GRIS...
image = cv2.imread("""C:/Utilisateurs/Shivek/Images/487px-OpenCV_Logo_with_text_svg_version.svg.png""", 0)
cv2.imshow(« Vision par ordinateur DataPeaker », image)
cv2.waitKey(0)
cv2.destroyAllWindows()
869691_jqofwnwo5anck5ug2ezdgw-5841165

La source: Moitié

Comprendre les bases du CV

Comme vous l'avez peut-être vu, dans notre précédent article, nous avons lu (chargé) l'image du logo OpenCV dans notre mémoire système, en utilisant la méthode intégrée de la bibliothèque OpenCV, imread (). En utilisant cette méthode, on passe deux arguments, a savoir, un nom de fichier et un drapeau. Le nom de fichier spécifié le nom et l'emplacement du fichier sur votre ordinateur personnel, tandis que le drapeau pourrait ressembler au réglage de la couleur de l'image. S'en souvenir, nous nous souvenons que nous lisons l'image dans notre mémoire dans un format de couleur GREY SCALE.

À présent, l'aspect le plus crucial pour comprendre OpenCV:

Les images sont des données. Lorsque vous utilisez la méthode imread () de OpenCV, vous convertissez les données d'image brutes en un autre type de données. Le nouveau type de données est un type que tout le monde chez DataPeaker connaît très bien et est Un tableau NumPy comprenant des entiers. Chaque élément du tableau représente l'intensité de la couleur du pixel et peut avoir un ou plusieurs éléments à l'intérieur. Depuis que nous avons chargé notre matrice au format de couleur GRYS SCALE, on trouvera que chaque pixel est représenté comme une valeur unique qui peut prendre une valeur égale et qui part de zéro (0) à deux cent cinquante cinq (255 ). UNE mesure que uno pasa de 0 à des valeurs plus élevées, l'intensité d'un pixel spécifique augmente, ce qui le rend plus attrayant à l'œil.

0 = couleur noire.
255 = couleur blanche.

Essentiellement, ce que j'essaie de transmettre est le suivant (J'ai omis la police car c'est la même que dans l'article précédent, et aussi pour permettre la circulation de l'information):

Commençons par l'image suivante:

65619487px-opencv_logo_with_text_svg_version-svg_-6639257

Ensuite, nous avons renvoyé l'image en ÉCHELLE DE GRIS et obtenu l'image dans un nouveau format comme indiqué ci-dessous:

14-1-2178252

Ahora imprimiremos el contenido de la variable que está almacenando nuestra imagen en ESCALA DE GRISES:

# variable image stocké notre image GREYSCALE
imprimer(image)

-Nous recevons la sortie du code ci-dessus comme suit:

14-2-7855870

Nous allons maintenant imprimer le type d'image variable:

imprimer(taper(image))

La sortie ressemblera à ce qui suit:

14-3-1121119

Essentiellement, OpenCV a transformé notre image en matrice NumPy, dans lequel il y a des valeurs de 0 une 255 représentant l'intensité des pixels, qui correspondent aux couleurs que nous voyons dans l'image GREY SCALE. N'oubliez pas que les images GREY SCALE renvoient toujours un tableau dans lequel chaque pixel a une valeur unique allant de 0 (nègre) une 255 (blanc).

Renvoyer la forme du tableau.

Imprimons la forme de la matrice NumPy sur la console.

imprimer(image.forme)

La sortie ressemblera à ce qui suit:

14-4-4304073

Notre matrice a 600 rangées et 487 Colonnes. Dans la terminologie de l'image, on dirait que l'image a des dimensions de 600 pixels (alto) pour 487 pixels (largeur).

Impression de l'image avec des pixels

Puisque OpenCV a transformé les pixels de notre image en un tableau NumPy avec des entiers, nous pouvons effectuer des opérations NumPy sur le tableau contenant les valeurs de pixels de l'image et manipuler le tableau.

Notre matrice est bidimensionnelle. Cela signifie qu'il a des lignes et des colonnes. Faisons un peu d'indexation et de division sur le tableau, et nous renverrons le contenu.

cv2.imshow("DE", image[0:100])

cv2.waitKey()

cv2.destroyAllWindows()

Si l'on est familier avec la technique d'indexation et de coupe, vous pouvez voir que nous essayons de couper une partie de notre matrice d'images (NumPy). Encore, il est crucial de comprendre et d'être conscient du fait que la bibliothèque OpenCV dans le langage de programmation Python représente ses images et objets associés sous forme de NumPy nd-Arrays.

98808numpy-array-2607932

La source: Production d'IA en Inde.

Explication du code.

Les explications ligne par ligne du bloc de code ci-dessus sont les suivantes:

cv2.imshow (“Vision par ordinateur DataPeaker”, photo[0:100])

La méthode imshow () utilisé pour afficher une image sur l'écran à l'aide d'une interface graphique. Cependant, dans ce cas particulier, nous passons un nom pour la fenêtre GUI, Oui juste une partie de la matrice de pixels, à l'aide de coupe. Spécifiquement, nous voulons retourner le premier 100 Lignes (la taille) de l'image.

cv2.waitKey()

Cela attendra indéfiniment que la fenêtre de l'interface graphique se ferme, c'est-à-dire, l'action / l'interaction de l'utilisateur fermera cette fenêtre. Vous pouvez passer une valeur entière comme argument représentant la durée (en millisecondes), la fenêtre de l'interface graphique doit attendre avant de se terminer automatiquement.

cv2.destroyAllWindows()

La ligne de code ci-dessus mettra fin à toutes les fenêtres d'interface graphique OpenCV actives / ouvert. Vous pouvez passer le nom d'une fenêtre GUI spécifique pour se terminer par une chaîne.

La sortie ressemblera à ce qui suit:

92081photo1-6384376

Donc, nous avons retourné avec succès le premier 100 lignes de pixels de notre image. N'hésitez pas à expérimenter avec l'image et à voir si le pixel dans une position particulière correspond à la couleur trouvée dans l'image elle-même..

Ceci conclut mon article sur Vision par ordinateur avec Python. J'espère que vous avez apprécié la lecture de cet article et appris un nouveau concept.

S'il vous plait, n'hésitez pas à me contacter sur LinkedIn.

Merci pour ton temps.

Les médias présentés dans cet article ne sont pas la propriété de DataPeaker et sont utilisés à la discrétion de l'auteur.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.