liste des extensions de fichier pris en charge par OpenCV
Dans OpenCV, je vois imread() et VideoCapture() une chaîne de caractères dans un fichier chemin d'accès de plusieurs extensions. Est-il possible d'obtenir une liste des extensions qui sont pris en charge par eux? Par exemple, obtenir une liste de "jpg", "png", "mov", "mpg", etc.? Je suppose que c'est dépendante du système et d'autres ont besoin de cette requête lors de l'exécution.
En outre, la façon dont le soutien est-il déterminé? Si vous avez quelque chose comme le code ci-dessous et le Tapis je serai de retour semble toujours partiellement endommagé (je peux voir un peu de l'image). Il ne semble pas que le changement quel que soit le numéro de l'image que je demande. Je peux lire cette vidéo dans mon lecteur vidéo "totem", mais je ne suis même pas sûr si totem et OpenCV sont même en utilisant le même codec pour ce fichier.
Mat fromVideo(std::string _videoPath, int frame) {
VideoCapture capture(_videoPath);
Mat f;
for (int i = 0; i < frame; i++) {
capture >> f;
}
return f;
}
OriginalL'auteur voodoogiant | 2013-12-31
Vous devez vous connecter pour publier un commentaire.
Pour
imread()
(plus d'info ici):Pour
VideoCapture()
:Fichiers AVI - *.avi
OriginalL'auteur herohuyongtao
Utiliser la méthode
cv::VideoCapture::isOpened()
pour s'assurer que le constructeur a réussi à l'initialisation de la VideoCapture objet.Noter que même s'il était possible d'obtenir une liste de prise en charge des formats de conteneur de OpenCV (AVI, MKV par exemple) avec leur typique extensions de nom de fichier, vous auriez encore besoin de connaître la liste exacte des codecs pris en charge (et même alors, le fichier que vous souhaitez ouvrir est peut-être endommagé, etc...). Ainsi, une liste des extensions de nom de fichier n'est pas suffisant pour décrire avec précision ce qui est pris en charge en interne par OpenCV, et la solution la plus simple à la OpenCV niveau API est ce
isOpened()
méthode.OriginalL'auteur user3146587
Juste mise à jour:
fonctionne pour moi.
OriginalL'auteur bigeyesung