0

OpenCV での動作が気に入りimshowました。指定された名前のウィンドウに画像を表示するように要求すると、この名前が存在し、このウィンドウが再描画され、この名前付きウィンドウがまだ存在しない場合は作成されます。

この動作を Matlab の図でシミュレートすることは可能ですか?

私が書いたら

if ishandle(spectrum)
   figure(spectrum);
else
   spectrum = figure();
end

最初にスペクトル変数が定義されていないと、エラーが発生します。

4

1 に答える 1

1

ハンドルかどうかを確認する前に、スペクトル変数が存在するかどうかを確認できます。

if exist('spectrum', 'var') && ishandle(spectrum)
   figure(spectrum);
else
   spectrum = figure();
end

または、スペクトルを Figure ハンドルに割り当てる前に、それをダミー値 (例: nan) に割り当てることができます。したがって、ifブランチに到達すると、すでに値があり、Matlab はエラーをスローしません。

spectrum = nan;

% ... stuff happens, maybe even a while or for loop ...

if ishandle(spectrum)
   figure(spectrum);
else
   spectrum = figure();
end
于 2013-08-21T23:44:23.950 に答える