输出 window 调整大小后八度图像更新失败

Octave image update fails after output window resized

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

在我调整输出 window 后,设置函数失败 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);

似乎在调整输出 window 后我的 image_object 变得无效。

欢迎任何想法。

好吧,我不知道这个答案是否值得留在这里,但崩溃的原因是次要情节重建。所以在 preudocode 中,我的程序与以下内容非常相似:

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

    create_subplot();
    display_image(imageA);

    create_subplot();
    display_image(imageB);
end loop

所以在 Octave 中,它在调整输出 window 的大小后导致执行失败。在我按以下方式更改代码后,一切都开始按预期工作:

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