2017-05-23 5 views
1

私は最初にウェブカメラ画像をその上に流す人物を作成しました。ウェブカメラからストリーミングしながら、私は図の上に3D軸を作成しました。ウェブカメラのフレームストリーミングは、3D軸の内部には設定されず、図自体の3D軸の外側に設定されています。問題は、uistack(ah,'bottom')機能のためにウェブカメラをストリーミングするときに数字が点滅し続けることです。ストリーミングフィギュアの背景の前に3D軸ahを残すには、この機能が必要ですframeウェブカメラをストリーミングするときにmatlab - figureが点滅し続ける

ご覧のとおり、私はウェブカメラを使用してリンゴをストリームしています。 uistack(ah,'bottom')機能のおかげで、3D軸がバックグラウンドの前にあることもわかります。この機能を使用しなかった場合、3D軸はバックグラウンドの背後に隠れてしまいます。

enter image description here

% turn on webcam 
camList = webcamlist; 
cam = webcam(camList{1}); 

% stream webcam 
while(1) 
    frame = snapshot(cam); 
    ah = axes('unit','normalized','position',[0 0 1 1]); 
    imagesc(frame) 
    drawnow 
    set(ah,'handlevisibility','off','visible','off','Clipping','off') 
    uistack(ah,'bottom') 
end 

答えて

0

私は問題を解決しました。 (I)ストリーミング画像azと静止画像ループのah用(ⅱ)別の1のための1:

は、次の2つの軸を定義する必要があります。また、uistackファンクションの外側に配置することは、すべてのループのaz軸の上にahを保持するようにプログラムに指示することが冗長であるためです。

camList = webcamlist; 
cam = webcam(camList{1}); 

hold on 
az = axes('unit','normalized','position',[0 0 1 1]); 
ah = axes('unit','normalized','position',[0 0 1 1]); 
uistack(ah,'top') 

while(1) 
    frame = snapshot(cam); 
    imagesc(az,frame) 
    drawnow 
end 
関連する問題