Maison > développement back-end > Tutoriel Python > C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

WBOY
Libérer: 2023-04-12 13:49:09
avant
1747 Les gens l'ont consulté

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

« Infinite Little Light's Popular Science Daily » publie souvent des vidéos identifiant des organismes populaires en ligne, ce qui non seulement vulgarise les connaissances biologiques, mais satisfait également la curiosité du public. Aujourd’hui, nous allons également identifier les plantes populaires sur Internet ! De nombreuses fleurs ont fleuri au printemps récemment. J'ai profité des vacances de Qingming pour sortir et prendre beaucoup de photos de fleurs.

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

Comme nous ne connaissons pas particulièrement beaucoup de fleurs, nous devons utiliser un logiciel pour identifier de quel type de fleur il s'agit. Il existe de nombreux logiciels de reconnaissance de fleurs sur le marché, tels que Huamate, Xingse, Baidu, etc. Après tests, j'ai découvert que Baidu avait le meilleur effet de reconnaissance. J'ai donc eu une idée. Puis-je appeler par lots l'interface de Baidu pour identifier et classer les photos de fleurs ? (Voir la fin de l'article pour le code complet)

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

Baidu Image Recognition

L'interface de reconnaissance d'image de Baidu peut identifier avec précision plus de 100 000 objets et scènes, y compris plus de 10 capacités de reconnaissance d'image de haute précision et fournit l'API correspondante services.

​https://www.php.cn/link/17d187eaf6157b4e219552d6a187290a​

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

Nous suivons les étapes pour créer une nouvelle application et obtenir notre propre clé API et clé secrète, comme le montre la figure ci-dessous.

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

La reconnaissance d'images fournit une interface API combinée qui prend en charge les appels combinés flexibles de plusieurs services de reconnaissance verticale. Ici, seule la reconnaissance des plantes doit être appelée pour répondre aux besoins.

Comment appeler l'interface API de reconnaissance d'image Baidu en Python ?

La première étape consiste à appeler l'interface d'authentification pour obtenir le token.

API_Key = '**********'
Secret_Key = '**********'
def get_access_token(API_Key,Secret_Key):
host = '**********'
response = requests.get(host)
return response.json()['access_token']
access_token = get_access_token(API_Key,Secret_Key)
Copier après la connexion

La deuxième étape consiste à identifier le type d'image

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

Entrez la commande suivante dans l'environnement interactif :

import requests
import base64
request_url = '**********'
# 二进制方式打开图片文件
f = open(r'D:下载QQ截图20220407203203.png', 'rb')
img = base64.b64encode(f.read())
params = {"image":img}
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
print (response.json()['result'][0]['name'])
Copier après la connexion

Sortie :

Sakura

Les paramètres de retour de l'appel de l'interface de reconnaissance d'image Baidu sont tels qu'indiqués dans le figure ci-dessous, pour nous, disons, seul le paramètre name (nom de la plante) est nécessaire.

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

Lire les fichiers photo

Je stocke les photos prises dans le chemin D: télécharger la collection de fleurs, je dois donc utiliser le module os pour lire la liste des fichiers afin de faciliter les opérations par lots ultérieures.

Entrez la commande suivante dans l'environnement interactif :

import os
path = "D:下载花卉合集"
filenames = os.listdir(path)
filenames
Copier après la connexion

Output :

['QQ截图20220405223301.png',
 'QQ截图20220405223320.png',
 ......
 '微信图片_20220405225020.jpg',
 '微信图片_20220405225023.jpg']
Copier après la connexion

La méthode listdir() dans le module os reçoit un chemin de paramètre de chemin et renvoie les noms de fichiers de tous les fichiers sous la liste composée de chemins. De cette façon, nous avons obtenu les noms de fichiers de toutes les images de fleurs sous ce chemin, comme le montre la figure ci-dessous.

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !

Organiser et classer les photos

Ensuite, nous pouvons utiliser l'instruction de boucle for pour effectuer une reconnaissance d'image sur les photos de fleurs en séquence et les classer dans les dossiers correspondants en fonction des noms reconnus.

Entrez la commande suivante dans l'environnement interactif :

for i in filenames:
flower_name = get_fname(i)
file_path = os.path.join(path,i)
folder_path = os.path.join(path,flower_name)
if not os.path.exists(folder_path):
os.mkdir(folder_path)
shutil.move(file_path,folder_path)
Copier après la connexion

La fonction get_fname() est l'endroit où nous encapsulons le code de reconnaissance d'image Baidu dans l'article précédent dans une fonction personnalisée. L'appeler ici peut renvoyer le nom de la fleur correspondant à la photo.

Le code suivant est presque le même que le fichier de classification automatique partagé auparavant, c'est-à-dire qu'il détermine si le dossier correspondant au nom de la fleur existe déjà, et s'il n'existe pas, créez-le. Enfin, appelez le module Shutil pour déplacer les photos de fleurs vers le dossier correspondant.

L'effet d'exécution spécifique est montré dans l'animation ci-dessous.

C'est amusant ! Utilisez Python pour identifier les types de fleurs et les organiser et les classer automatiquement !


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!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal