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:
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
            }
}
mais je me rends compte que image1 et image2 sont identiques.
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.