keypoints_save.py
# Ce travail est publié sous licence MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Tous droits réservés.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemple de descripteur de points clés (keypoints).
# Cet exemple montre comment enregistrer un descripteur de points clés dans un fichier. Montrez un objet à la caméra,
# puis exécutez le script. Celui-ci extraira et enregistrera un descripteur de points clés ainsi que l'image.
# Vous pouvez utiliser l'utilitaire keypoints_editor.py pour supprimer les points clés indésirables.
import csi
import time
import image
csi0 = csi.CSI()
csi0.reset()
csi0.contrast(3)
csi0.gainceiling(16)
csi0.framesize(csi.VGA)
csi0.window((320, 240))
csi0.pixformat(csi.GRAYSCALE)
csi0.snapshot(time=2000)
csi0.auto_gain(False, gain_db=100)
FILE_NAME = "desc"
img = csi0.snapshot()
# REMARQUE : consultez la documentation pour connaître les autres arguments
# REMARQUE : par défaut, find_keypoints retourne des points clés multi-échelles extraits d'une pyramide d'images.
kpts = img.find_keypoints(max_keypoints=150, threshold=10, scale_factor=1.2)
if kpts is None:
raise (Exception("Couldn't find any keypoints!"))
image.save_descriptor(kpts, "%s.orb" % (FILE_NAME))
img.save("%s.pgm" % (FILE_NAME))
img.draw_keypoints(kpts)
csi0.snapshot()
time.sleep_ms(1000)
raise (Exception("Please reset the camera to see the new file."))