Trouver la hauteur et la largeur d'une image [Résolu]

Ici on parle des scripts

Modérateurs : frez, Yadoob, stilobique, Matpi, ModSquad

Trouver la hauteur et la largeur d'une image [Résolu]

Message par Ricklefou » 28 Août 2018, 08:45

Bonjour,

Je suis en train de développer un add-on qui s'intègre dans le VSE de blender.

j'ai un soucis lors de l'utilisation d'images dans le sequencer.
Je n'affiche que le sequencer et pas la preview (important)
Je cherche à obtenir la taille de l'image que j'ai ajouté avec une :
Code : Tout sélectionner
bpy.context.scene.sequence_editor.sequences.new_image()


Lorsque j'utilise
Code : Tout sélectionner
bpy.context.selected_sequences[0].elements[0].orig_height

avec une séquence sélectionnée, le résultat est 0 (pas de taille accessible)

lorsque j'active la preview et que je déplace le curseur sur la bande, j'obtiens les valeurs de la hauteur de l'image dans le panneaux de droite ainsi que par la commande.
Comment mettre à jour les données de l'image dans le sequencer sans avoir à visualiser la preview, ni à déplacer le curseur de frame.

J'espère que vous comprendrez mon besoin.
Dernière édition par Ricklefou le 13 Sep 2018, 18:49, édité 1 fois.
Ricklefou
 
Message(s) : 2
Inscription : 28 Août 2018, 08:35

Re: Trouver la hauteur et la largeur d'une image

Message par VincentG » 13 Sep 2018, 14:16

Effectivement, si l'image n'a pas été affichée une fois, Blender ne donne pas la possibilité d'avoir la résolution.
Mais tu peux le faire de plusieurs manières:
- utiliser un module ou une application externe pour connaitre la résolution (Pillow, ImageMagick, etc)
- créer un clip qui permet d'avoir la résolution sans afficher l'image
Code : Tout sélectionner
movieclip = bpy.data.movieclips.load('/path')
x_res, y_res = movieclip.size

- ou bien simplement sauver la frame en cours, aller sur la frame où se trouve ton image, faire un rendu opengl et revenir sur la frame de départ. C'est pas le plus beau, mais c'est transparent et ça marche très bien. C'est ce que je fais perso:
Code : Tout sélectionner
scene = bpy.context.scene
save_frame = scene.frame_current
scene.frame_current = strip.frame_start
bpy.ops.render.opengl(sequencer=True)
scene.frame_current = save_frame
http://www.vincentgires.com
Belgian Blender User Group : http://bbug.be/
Avatar de l’utilisateur
VincentG
 
Message(s) : 222
Inscription : 13 Fév 2014, 21:35

Re: Trouver la hauteur et la largeur d'une image

Message par Ricklefou » 13 Sep 2018, 18:40

Je te remercie pour cette réponse.
Je recherchais le moyen de réaliser cette opération depuis 3 semaines. Tu est mon sauveur :D ;)
Je n'aurais jamais penser à regarder du côté du rendu :idea: :arrow: :oops:.

Je viens d'essayer le rendu opengl, il fonctionne parfaitement en l’insérant dans mon script.

Je conserve les autres solutions sous le coude.
Ricklefou
 
Message(s) : 2
Inscription : 28 Août 2018, 08:35


Retour vers Scripts - Python - OSL

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)