Sur la base de cette question/réponse J'ai essayé d'utiliser la classe Stitcher d'OpenCV en python. Mon code est essentiellement le même que celui de la réponse.
import cv2
stitcher = cv2.createStitcher(False)
foo = cv2.imread("D:/foo.png")
bar = cv2.imread("D:/bar.png")
result = stitcher.stitch((foo,bar))
cv2.imwrite("D:/result.jpg", result[1])
Le problème est que je veux changer le mode de Panoramique en Scans. Dans la documentation c++, la méthode create a une entrée de mode. Cependant, la classe createStitcher en Python ne prend qu'une seule entrée : essayer ou non le gpu. Existe-t-il un moyen de spécifier le mode en Python ?
Lorsque j'essaie de créer des plans d'assemblage, j'obtiens une erreur
stitcher = cv2.createStitcherScans(False)
"AttributeError: 'module' object has no attribute 'createStitcherScans'"
J'ai trouvé ce problème GitHub qui semble pertinente, concernant les bindings Python qui manquent quelque chose. Mais cela me dépasse et je ne sais pas comment modifier le code opencv pour faire cela correctement. J'ai essayé d'ajouter ceci au stitching.hpp :
typedef Stitcher::Mode Mode;
Mais rien ne s'est passé. createStitcher(1, False) me donne toujours l'erreur d'attribut. Toute aide serait grandement appréciée.