Maison > Article > développement back-end > Comment utiliser les expressions régulières Python pour la reconnaissance d'images
En informatique, la reconnaissance d'images a toujours été un domaine important. Grâce à la reconnaissance d'image, nous pouvons laisser l'ordinateur reconnaître et analyser le contenu de l'image et le traiter. Python est un langage de programmation très populaire qui peut être utilisé dans de nombreux domaines, notamment la reconnaissance d’images. Cet article explique comment utiliser les expressions régulières Python pour la reconnaissance d'images.
L'expression régulière est un outil de correspondance de modèles de texte utilisé pour trouver du texte qui correspond à un modèle spécifique. Python dispose d'un module "re" intégré qui peut être utilisé pour le traitement des expressions régulières. Le processus général d'utilisation des expressions régulières pour la reconnaissance d'images est le suivant :
Voici un exemple d'utilisation des expressions régulières Python pour trouver des images contenant des visages :
import re import cv2 import numpy as np # 读入图像文件并转换为二进制数据 with open("image.jpg", "rb") as f: img_data = f.read() # 使用正则表达式查找人脸 match = pattern.search(img_data) if match: # 将二进制数据转换为 NumPy 数组然后进行图像显示 img_array = np.frombuffer(img_data, dtype=np.uint8) img = cv2.imdecode(img_array, flags=1) cv2.imshow("Image", img) cv2.waitKey(0)
Regardons le code ligne par ligne :
import re import cv2 import numpy as np
Voici les modules Python nécessaires :
# 读入图像文件并转换为二进制数据 with open("image.jpg", "rb") as f: img_data = f.read()
À l'aide de la fonction intégrée "open" de Python, nous lisons un fichier image nommé "image.jpg" et le convertissons en données binaires. Cette ligne de code suppose que le fichier se trouve dans le répertoire actuel et porte une extension .jpg.
# 使用正则表达式查找人脸 match = pattern.search(img_data)
Ici, nous utilisons des expressions régulières pour trouver des modèles spécifiques dans les données binaires. Nous définissons un objet d'expression régulière "modèle" et utilisons la méthode match() pour trouver le modèle. Notre modèle est une séquence d'octets composée de plusieurs octets adjacents représentés par des valeurs hexadécimales. Cette séquence d'octets fait partie de l'en-tête du fichier au format de fichier JPEG et indique que le fichier contient une image codée au format JFIF (JPEG File Interchange Format).
if match: # 将二进制数据转换为 NumPy 数组然后进行图像显示 img_array = np.frombuffer(img_data, dtype=np.uint8) img = cv2.imdecode(img_array, flags=1) cv2.imshow("Image", img) cv2.waitKey(0)
Si un modèle est trouvé, nous convertissons les données binaires en un tableau NumPy et les reconvertissons en image à l'aide de la fonction "imdecode" de la bibliothèque OpenCV. Nous l'affichons ensuite à l'aide de la fonction imshow() d'OpenCV et mettons le programme en pause à l'aide de la fonction waitKey() jusqu'à ce que l'utilisateur appuie sur une touche (c'est-à-dire ferme la fenêtre d'image).
Dans l'ensemble, l'utilisation d'expressions régulières Python pour la reconnaissance d'images n'est peut-être pas aussi précise que d'autres techniques de vision par ordinateur, mais c'est une approche viable. Il peut être utilisé pour rechercher des modèles binaires spécifiques dans des images ordinaires, qui peuvent être utilisés pour découvrir des informations d'en-tête, de navigation ou de métadonnées. Les expressions régulières sont un outil très puissant qui peut vous aider à trouver des informations spécifiques dans les fichiers image.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!