调整输出窗口

时间:2017-01-14 22:25:28

标签: matlab octave

我使用八度音程来处理某些视频并在不同的处理阶段提供它的输出。我正在逐帧加载视频并使用set(self.image_object, 'CData', self.data);进行图片更新。

调整输出窗口大小后,使用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变为无效。

任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:0)

嗯,我不知道这个答案是否值得留在这里,但是崩溃的原因是subplot娱乐。所以在preudocode我的程序非常类似于以下:

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

    create_subplot();
    display_image(imageA);

    create_subplot();
    display_image(imageB);
end loop

因此,在八度音程中,在调整输出窗口大小后导致执行失败。在我以下列方式更改了代码后,一切都按预期开始工作:

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