mirror of
https://forge.apps.education.fr/phroy/mes-scripts-de-ml.git
synced 2024-01-27 11:30:36 +01:00
Vision par ordinateur : ajout de la capture par opencv
This commit is contained in:
parent
eceea6e422
commit
d098fd0231
@ -15,14 +15,6 @@ from tensorflow import keras
|
|||||||
# @license: GNU GPL
|
# @license: GNU GPL
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
###
|
|
||||||
# Installation :
|
|
||||||
# - pip3 install tensorflow
|
|
||||||
# - pip3 install keras
|
|
||||||
# - pip3 install pydot
|
|
||||||
# - pip3 install graphviz
|
|
||||||
###
|
|
||||||
|
|
||||||
###
|
###
|
||||||
# Commandes NumPy :
|
# Commandes NumPy :
|
||||||
# - np.array : créer un tableau à partir d'une liste de listes
|
# - np.array : créer un tableau à partir d'une liste de listes
|
||||||
@ -32,19 +24,6 @@ from tensorflow import keras
|
|||||||
# - .reshape : reformater la tableau avec le nombre de lignes et le nombre de colonnes
|
# - .reshape : reformater la tableau avec le nombre de lignes et le nombre de colonnes
|
||||||
###
|
###
|
||||||
|
|
||||||
###
|
|
||||||
# Commandes Keras :
|
|
||||||
# - keras.models.Sequential() : créer un modèle où les couches de neurones sont reliées séquentiellement (modèle simple)
|
|
||||||
# - model.add : ajout d'une couche
|
|
||||||
# - keras.layers.Flatten : couche de formatage de mise à plat
|
|
||||||
# - keras.layers.Dense : couche de neurones
|
|
||||||
# - keras.backend.clear_session() : reset de la session
|
|
||||||
# - model.compile : compilation du modèle
|
|
||||||
# - model.fit : entrainement du modèle
|
|
||||||
# - model.predict : prédiction du modèle
|
|
||||||
# - keras.utils.plot_model : créer le diagramme d'un modèle
|
|
||||||
###
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Initialisation
|
# Initialisation
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -72,7 +51,7 @@ X_valid, y_valid = X[:5000]/255.0 , y[:5000]
|
|||||||
classes = [0,1,2,3,4,5,6,7,8,9]
|
classes = [0,1,2,3,4,5,6,7,8,9]
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Classement des images avec l'étiquette
|
# Affichage des images avec l'étiquette
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
print ("\n")
|
print ("\n")
|
||||||
|
53
03-vision/04-opencv.py
Normal file
53
03-vision/04-opencv.py
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
import os, time
|
||||||
|
import numpy as np
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
import cv2
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 04-opencv.py
|
||||||
|
# @title: Vision par ordinateur - Acquisition vidéo
|
||||||
|
# @project: Mes scripts de ML
|
||||||
|
# @lang: fr
|
||||||
|
# @authors: Philippe Roy <philippe.roy@ac-grenoble.fr>
|
||||||
|
# @copyright: Copyright (C) 2023 Philippe Roy
|
||||||
|
# @license: GNU GPL
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
# Installation :
|
||||||
|
# - pip3 install opencv-python
|
||||||
|
###
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Initialisation
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Init de la caméra
|
||||||
|
cam_id = 0 # 0 pour la 1ere camera, 1 pour la seconde ...
|
||||||
|
cam = cv2.VideoCapture(cam_id) # 0 pour la 1ere camera, 1 pour la
|
||||||
|
assert cam.isOpened(), "Erreur lors de l'ouverture de la camera !"
|
||||||
|
|
||||||
|
# Création de la fenêtre d'affichage
|
||||||
|
cv2.namedWindow("Caméra")
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Affichage
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Capture
|
||||||
|
key=''
|
||||||
|
while cam.isOpened():
|
||||||
|
cam_actif, cam_img = cam.read()
|
||||||
|
cv2.imshow("Caméra", cam_img)
|
||||||
|
key = cv2.waitKey(1) # Saisie clavier avec un timeout de 1 ms
|
||||||
|
if key & 0xFF == ord('q') or key == 27 :
|
||||||
|
break
|
||||||
|
# cv2.imwrite("camera.png", cam_img)
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Quitter
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
cam.release()
|
||||||
|
cv2.destroyAllWindows()
|
BIN
03-vision/camera.png
Normal file
BIN
03-vision/camera.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 441 KiB |
Loading…
Reference in New Issue
Block a user