2017-01-14 4 views
0

オクターブを使用してビデオを処理し、別の処理ステージで出力します。フレームごとにビデオを読み込み、画像の更新にset(self.image_object, 'CData', self.data);を使用しています。出力ウィンドウのサイズが変更された後、オクターブ画像の更新に失敗する

出力ウィンドウのサイズを変更した後、set関数はset: invalid handle (= -1.39375)で失敗します。

%fist frame display 
self.image_object = imshow(self.data); 

... 

%new frame arrives and I try to set display it's content in already created image output 
set(self.image_object, 'CData', self.data); 

アウトプットウィンドウのサイズを変更した後、image_objectが無効になったようです。

アイデアをいただければ幸いです。

+0

どのOSがどのgraphics_toolkitですか?また、MCVEは – Andy

+1

といいでしょう。私はこの方法を使って画像を見て、それを問題なく何度も更新しました。だからあなたは本当に問題を示すMCVEを作り、最初のコメントから私の質問に答えを加えるべきです – Andy

答えて

0

まあ、私はここに残す価値があるのか​​どうか分からないが、クラッシュの理由はサブプロットのレクリエーションだった。出力ウィンドウのサイズが変更された後

loop 
    imageA = get_updated_image_A(); 
    imageB = get_updated_image_B(); 

    create_subplot(); 
    display_image(imageA); 

    create_subplot(); 
    display_image(imageB); 
end loop 

だからオクターブで、それは実行の失敗の原因となった:だからpreudocodeに私のプログラムは、次のように非常に類似していました。私のコードを次のように変更した後、すべてが意図どおりに動作するようになりました。

loop 
    imageA = get_updated_image_A(); 
    imageB = get_updated_image_B(); 

    if(is_first_iteration) 
     create_subplot(); 
    endif 
    display_image(imageA); 

    if(is_first_iteration) 
     create_subplot(); 
    endif 
    display_image(imageB); 
end loop 
関連する問題