我根据这个安装了lua图片 - link。我还用luajit -limage -e "image.test()"
测试了我的安装,它说0错误和0警告。另外,当我尝试
> 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
我的火炬正常运行所以我不知道qt
会出现什么问题。我该如何解决这个问题?
答案 0 :(得分:4)
你有没有机会读到这个?
https://github.com/torch/image/blob/master/doc/gui.md
其他函数中的image.display只能通过qlua Lua解释器访问。从LuaJit调用该函数将导致您遇到的错误。
答案 1 :(得分:1)
只是添加Piglet的答案 - 阅读qlua
:
https://github.com/torch/qtlua/blob/master/doc/qt.md#qlua
起初我想:"哦,亲爱的,我使用luajit
,在torch
安装中,我没有时间和动力安装另一个解释器,配置{{ 1}}使用它,然后从头开始安装所有东西"。 好消息:我错了。
luarocks
是一个解释器,但它会安装在您现有的Lua + Torch目录中。
qlua
..弹出一个窗口,提示立即返回。
这是因为$ luarocks install qtlua
$ luarocks install qttorch
$ which qlua
/home/me/torch/install/bin/qlua
$ qlua
Lua 5.1 Copyright (...)
> require('image')
> l = image.lena()
> image.display(l)
>
有一个后台GUI线程来显示你的图像并对事件作出反应(关闭和调整窗口大小,图像将被缩放 - 没有任何方面保留:W& H独立)。