Salut tout le monde,
J'essaie de faire du post-processing sur une vidéo en QML avec des shaders. Pour l'instant, je voudrais faire une simple soustraction d'images (après je ferai du calcul de flot optique). Mais je ne vois pas trop comment obtenir des images successives.
Mon code ressemble ça:
mais je me rends compte que image1 et image2 sont identiques.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 Column { width: parent.width/2 height: parent.height property int itemsCount : 4 property int itemsHeight: height /itemsCount VideoOutput { width: parent.width height: parent.itemsHeight id : video source: player } ShaderEffect { width: parent.width height: parent.itemsHeight id : image1 property variant source: ShaderEffectSource { sourceItem: video; } fragmentShader: shadersFactory.simpleShader } ShaderEffect { width: parent.width height: parent.itemsHeight id : image2 property variant source: ShaderEffectSource { sourceItem: image1; } fragmentShader: shadersFactory.simpleShader } ShaderEffect { width: parent.width height: parent.itemsHeight id : image3 property variant oldSource: ShaderEffectSource { sourceItem: image2;} property variant newSource: ShaderEffectSource { sourceItem: image1;} fragmentShader: shadersFactory.soustracionShader } }
Quelqu'un aurait une idée sur comment faire une sorte snaphot de la vidéo dans une texture à intervalle régulier d'une façon peu couteuse ?
Merci d'avance.
MG.
Partager