torch7:无法加载 BMP 图像。

我正在尝试加载一些图像来训练我的 conv-net。我正在使用 torch7 的 ' image' 包来完成这个目的。但是,在加载图像的过程中:

local img_raw = image.load(train_path .. train_files[i]):mul(255)

当我尝试加载 BMP 文件时却出现了以下错误:

/path/to/torch/install/bin/luajit: /path/to/torch/install/share/lua/5.1/dok/inline.lua:737: < image.load > unknown image type: bmp
stack traceback:
    [C]: in function 'error'
    /path/to/torch/install/share/lua/5.1/dok/inline.lua:737: in function 'error'
    /path/to/torch/install/share/lua/5.1/image/init.lua:337: in function 'load'
    final_2.lua:310: in main chunk
    [C]: in function 'dofile'
    .../torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:131: in main chunk
    [C]: at 0x00406670

请问有什么方法可以加载 BMP 图像以便在 torch7 中进一步处理吗?

先谢谢了。

点赞
用户118803
用户118803

为了完整起见,这里放一些代码:

首先,安装 Graphics Magic

$ luarocks install graphicsmagick

然后

require 'image'
gm = require 'graphicsmagick'

-- 更改字符串
local jpg_filename = string.gsub(train_files[i],".[Bb][Mm][Pp]$",".jpg")
-- 获取信息以构建大小字符串
local image_info = gm.info(train_path .. train_files[i])
-- 转换需要一个大小字符串 h x w
local size_string = image_info["height"] .. "x" .. image_info["width"]

gm.convert{
  input = train_path .. train_files[i],
  output = train_path .. jpg_filename,
  size = size_string,
  quality = 95,
  verbose = true
}
local img_raw = image.load(train_path .. jpg_filename):mul(255)
2016-11-08 22:33:02