【问题标题】:Octave: Can't Display Image?八度:无法显示图像?
【发布时间】:2014-02-27 17:30:33
【问题描述】:

我在使用 Octave 显示图像时遇到了基本困难。

特别是以下代码:

img1 = imread('data1/image2.jpg');
imshow (img1)

不显示图像。但是,如果在末尾添加drawnow(),图像会立即弹出然后消失。如果改为添加ginput(),图像将礼貌地保持显示,直到输入完成。我怎样才能简单地显示图像?

谢谢!

【问题讨论】:

  • 什么操作系统,什么八度版本等?需要更多信息。收到任何错误、警告等?只能显示这一张图片还是所有图片?
  • 在 debian wheezy 上的 octave 版本 3.6.2。除了warning: your version of GraphicsMagick limits images to 8 bits per pixel 之外没有报告错误,无论图像是否实际显示(即是否调用了imageginput
  • imshow 使用image 函数。 image 功能也不起作用吗?我在 ubuntu 13.10 x64 上有 3.6.4,一切正常。也许是一些错误。
  • 是的,image 也不起作用。
  • 您是否有机会使用不推荐的 QtOctave,如果是,如果不使用,问题会消失吗?

标签: image matlab octave


【解决方案1】:

您是否将代码作为脚本文件从 linux 终端运行?例如:$ octave HelloWorld.m

如果是这样,我相信发生的事情是脚本文件到达末尾,在图像窗口可以显示任何内容(或弹出)之前关闭图像窗口。

添加drawnow() 会在更改任何图像属性时重新绘制图像。

在这种情况下,不会更改图像属性,因此drawnow() 不会做任何事情。但是drawnow() 仍然很有用,因为它会等待图像弹出,然后再让程序进入下一行。 (因此暂时出现)仍然,脚本将结束并且窗口将关闭......

一个简单的解决方法是在脚本末尾添加pause()input()ginput()。只是不要让脚本结束。或者,您可以在 octave 命令行本身中键入您的代码。

【讨论】:

    猜你喜欢
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    相关资源
    最近更新 更多