Maison développement back-end Tutoriel Python Python nage dans l'océan de la vision par ordinateur : un merveilleux voyage de la classification d'images à la détection de cibles

Python nage dans l'océan de la vision par ordinateur : un merveilleux voyage de la classification d'images à la détection de cibles

Feb 19, 2024 pm 03:06 PM
python 目标检测 计算机视觉 图像分类

Python nage dans locéan de la vision par ordinateur : un merveilleux voyage de la classification dimages à la détection de cibles

La vision par ordinateur est une branche de l'intelligence artificielle qui vise à utiliser des ordinateurs pour simuler le système visuel humain afin d'extraire des informations significatives à partir d'images ou de vidéos. pythonAvec sa bibliothèque scientifique puissante et facile à apprendre, il est devenu un langage de programmation populaire dans le domaine de la vision par ordinateur. Cet article se concentrera sur l'application de Python dans les deux tâches de classification d'images et de détection de cibles, et fournira un code de démonstration clair et facile à comprendre pour vous aider à maîtriser rapidement les compétences de traitement d'images de Python.

Classification des images

La classification d'images est une tâche fondamentale en vision par ordinateur qui consiste à attribuer des images à des catégories prédéfinies. Python fournit de puissantes bibliothèques d'apprentissage automatiqueet de vision par ordinateuroutils pour mettre en œuvre facilement des tâches de classification d'images.

# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LoGISticRegression

# 加载和预处理图像数据
data = np.load("data.npy")
labels = np.load("labels.npy")
data = data.reshape((data.shape[0], -1))
data = data.astype("float32") / 255.0

# 将数据分成训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data, labels, test_size=0.2)

# 训练逻辑回归分类器
classifier = LogisticRegression(max_iter=1000)
classifier.fit(X_train, y_train)

# 评估分类器
score = classifier.score(X_test, y_test)
print("准确率:", score)

# 预测新图像
image = np.load("new_image.npy")
image = image.reshape((1, -1))
image = image.astype("float32") / 255.0
prediction = classifier.predict(image)
print("预测标签:", prediction)
Copier après la connexion

Le code ci-dessus démontre le processus complet de classification d'images à l'aide de Python, du chargement des données, du prétraitement, à la formation du modèle, à l'évaluation et enfin à la prédiction de nouvelles images.

Détection d'objet

La détection d'objets est une autre tâche importante en vision par ordinateur qui consiste à identifier et à localiser des objets spécifiques dans les images. Python dispose également de puissants outils de détection d'objets et de bibliothèques qui peuvent facilement accomplir cette tâche.

import numpy as np
import cv2

# 加载并预处理图像
image = cv2.imread("image.png")
image = cv2.resize(image, (640, 480))

# 创建目标检测器
detector = cv2.dnn.readNetFromCaffe("deploy.prototxt.txt", "res10_300x300_ssd_iter_140000.caffemodel")

# 检测图像中的对象
blob = cv2.dnn.blobFromImage(image, 0.007843, (300, 300), 127.5)
detector.setInput(blob)
detections = detector.forward()

# 绘制检测结果
for i in range(0, detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.5:
x1 = int(detections[0, 0, i, 3] * image.shape[1])
y1 = int(detections[0, 0, i, 4] * image.shape[0])
x2 = int(detections[0, 0, i, 5] * image.shape[1])
y2 = int(detections[0, 0, i, 6] * image.shape[0])
cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 2)

# 显示结果图像
cv2.imshow("检测结果", image)
cv2.waiTKEy(0)
cv2.destroyAllwindows()
Copier après la connexion

Le code ci-dessus démontre le processus complet de détection de cible à l'aide de Python, du chargement de l'image, du prétraitement, à l'utilisation du détecteur de cible, et enfin à l'élaboration des résultats de détection.

Conclusion :

Avec ses puissantes bibliothèques scientifiques et ses outils de vision par ordinateur, Python est un choix idéal pour les deux tâches de classification d'images et de détection d'objets. Cet article démontre l'application de Python dans le domaine de la vision par ordinateur et sa méthode de mise en œuvre à travers un code de démonstration clair et facile à comprendre. J'espère que vous en profiterez et explorerez davantage la puissance de Python dans le domaine de la vision par ordinateur.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? Comment résoudre ce problème? Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? Comment résoudre ce problème? Apr 01, 2025 pm 08:09 PM

Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? En programmation, nous rencontrons souvent le problème du retour des valeurs nulles lorsque l'API appelle, ce qui n'est pas seulement déroutant ...

Les annotations des paramètres Python peuvent-elles utiliser des chaînes? Les annotations des paramètres Python peuvent-elles utiliser des chaînes? Apr 01, 2025 pm 08:39 PM

Utilisation alternative des annotations des paramètres Python Dans la programmation Python, les annotations des paramètres sont une fonction très utile qui peut aider les développeurs à mieux comprendre et utiliser les fonctions ...

Comment les scripts Python effacent-ils la sortie en position de curseur à un emplacement spécifique? Comment les scripts Python effacent-ils la sortie en position de curseur à un emplacement spécifique? Apr 01, 2025 pm 11:30 PM

Comment les scripts Python effacent-ils la sortie en position de curseur à un emplacement spécifique? Lors de l'écriture de scripts Python, il est courant d'effacer la sortie précédente à la position du curseur ...

Python multiplateform de bureau de bureau de bureau: quelle bibliothèque GUI est la meilleure pour vous? Python multiplateform de bureau de bureau de bureau: quelle bibliothèque GUI est la meilleure pour vous? Apr 01, 2025 pm 05:24 PM

Choix de la bibliothèque de développement d'applications de bureau multiplateforme Python De nombreux développeurs Python souhaitent développer des applications de bureau pouvant s'exécuter sur Windows et Linux Systems ...

Dessin graphique de sablier Python: comment éviter les erreurs variables non définies? Dessin graphique de sablier Python: comment éviter les erreurs variables non définies? Apr 01, 2025 pm 06:27 PM

Précision avec Python: Source de sablier Dessin graphique et vérification d'entrée Cet article résoudra le problème de définition variable rencontré par un novice Python dans le programme de dessin graphique de sablier. Code...

Comment compter et trier efficacement de grands ensembles de données de produit dans Python? Comment compter et trier efficacement de grands ensembles de données de produit dans Python? Apr 01, 2025 pm 08:03 PM

Conversion et statistiques de données: traitement efficace des grands ensembles de données Cet article introduira en détail comment convertir une liste de données contenant des informations sur le produit en une autre contenant ...

See all articles