Lua 图片错误

我已经按照这里的指示安装了 Lua 图片 - link。我还使用 luajit -limage -e "image.test()" 测试了我的安装情况,它说没有错误和警告。同样,当我尝试

> require 'image'
> l = image.lena()

没有任何错误。然而,当我尝试使用 image.display(l) 时,我遇到了以下错误:

/home/srilatha/torch/install/share/lua/5.1/trepl/init.lua:384: module 'qt' not found:No LuaRocks module found for qt
    no field package.preload['qt']
    no file '/home/srilatha/.luarocks/share/lua/5.1/qt.lua'
    no file '/home/srilatha/.luarocks/share/lua/5.1/qt/init.lua'
    no file '/home/srilatha/torch/install/share/lua/5.1/qt.lua'
    no file '/home/srilatha/torch/install/share/lua/5.1/qt/init.lua'
    no file './qt.lua'
    no file '/home/srilatha/torch/install/share/luajit-2.1.0-beta1/qt.lua'
    no file '/usr/local/share/lua/5.1/qt.lua'
    no file '/usr/local/share/lua/5.1/qt/init.lua'
    no file '/home/srilatha/.luarocks/lib/lua/5.1/qt.so'
    no file '/home/srilatha/torch/install/lib/lua/5.1/qt.so'
    no file '/home/srilatha/torch/install/lib/qt.so'
    no file './qt.so'
    no file '/usr/local/lib/lua/5.1/qt.so'
    no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
    [C]: in function 'error'
    /home/srilatha/torch/install/share/lua/5.1/trepl/init.lua:384: in function 'require'
    /home/srilatha/torch/install/share/lua/5.1/image/init.lua:1363: in function 'display'
    [string "_RESULT={image.display(l)}"]:1: in main chunk
    [C]: in function 'xpcall'
    /home/srilatha/torch/install/share/lua/5.1/trepl/init.lua:651: in function 'repl'
    ...atha/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:199: in main chunk
[C]: at 0x00406670

我已经成功运行了 torch,所以不知道 qt 的问题在哪里。我该怎么解决这个问题?

点赞
用户2858170
用户2858170

你有没有看到这个链接呢?

https://github.com/torch/image/blob/master/doc/gui.md

image.display 和其他函数只能通过 qlua Lua 解释器访问。

从 LuaJit 调用该函数会导致你遇到的错误。

2016-06-06 15:06:28
用户1338797
用户1338797

仅仅为了补充Piglet的答案-了解一下 qlua

https://github.com/torch/qtlua/blob/master/doc/qt.md#qlua

一开始我以为:“哦,亲爱的,我正在使用的是 luajittorch 安装,我没有时间和动力安装另一个解释器,配置 luarocks 使其正常工作,然后从头再安装其他软件。” 好消息:我错了。

qlua 是一个解释器,但是它会被安装在已有的 Lua + Torch 的目录中。

$ luarocks install qtlua
$ luarocks install qttorch
$ which qlua
/home/me/torch/install/bin/qlua
$ qlua
Lua 5.1 版权所有(...)
> require('image')
> l = image.lena()
> image.display(l)
>

.. 一个窗口弹出,然后提示立即返回。

这是因为 qlua 有一个后台 GUI 线程来显示你的图像并响应事件(关闭和调整窗口大小,哪个画面将会被缩放-宽和高都是独立的,没有长宽比:W&H独立)。

2016-10-26 10:59:30