Soustraction d'images successives sur une vidéo
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:
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.