Bonjour.

Voila je cherche à afficher une vidéo issue d'une camera branché sur un port usb (le pilote est installé il fonctionne bien) dans un subplot d'une interface graphique. Pour ça j'utilise la fonction preview qui permet d'afficher une image en direct dans une nouvelle fenêtre.

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
vid = videoinput('winvideo', 2,vidRes); % Je défini ou ce trouve
la camera (numero 2) et la résolution (visRes est défini dans un autre fichier)
set(vid, 'SelectedSourceName', 'input1')
src_vid = getselectedsource(vid);
frame = getsnapshot(vid); % permet de créer une image fixe

hFig = figure('position',[400 400 600 400],...
    'Toolbar','none',...
    'Menubar','none',...
    'NumberTitle','Off',...
    'Name','Video with Live Histogram'); % la figure

h_start = uicontrol('Style', 'pushbutton', 'String', 'Start Preview',...
    'Position', [10 360 100 30], 'Callback', 'preview(vid)');  % un bouton qui permet de démarrer la preview.

h_stop = uicontrol('Style', 'pushbutton', 'String', 'Stop Preview',...
    'Position', [120 360 100 30], 'Callback', 'stoppreview(vid)'); % un bouton censé l'arrêter mais visiblement la fonction 
n'existe pas.

h_close = uicontrol('Style', 'pushbutton', 'String', 'Close',...
    'Position', [230 360 100 30], 'Callback', 'close'); % Un
bouton permettant de fermer la fenêtre, je voudrais aussi qu'il efface la vidéo
pour ne pas encombrer la mémoire mais je n'arrive pas a rajouter la fonction 
'delete(vid)' en plus de 'close'.

hTextLabel = uicontrol('Style', 'text', 'String', 'Time Stamp',...
    'Position', [10 0 100 20], 'Callback', 'cla'); %pour afficher le temps qui défile

h_camera = subplot('Position', [0.04 0.2 0.45 0.65]); preview(vid); % et voila le principal problème, si je met une fonction genre
image(frame) pour afficher l'image instantané elle apparait bien dans le 
subplot la mais la preview non, elle apparait dans une nouvelle 
fenêtre.

h_histogram = subplot('Position', [0.54 0.2 0.45 0.65]);
Voila est-ce que quelqu'un a une idée de comment réparer ça?
Merci d'avance.