【问题标题】:Error in calling ImageMagick from Matlab从 Matlab 调用 ImageMagick 时出错
【发布时间】:2013-04-01 18:33:45
【问题描述】:

我已经在我的系统 (windows) 中安装了 ImageMagick,它的命令在系统 PATH 中。它通过命令行工作得很好 我想使用系统命令从 Matlab 调用 ImageMagick 的“转换”功能。 'C:\Users\Vivek' 是图像的路径。我必须通过 Matlab 测试 ImageMagick 的工作,因为我需要它进行进一步处理(使输入适合于 Tesseract OCR)

    cmd= ['convert ' 'C:\Users\Vivek\208.jpg ' 'C:\Users\Vivek\208.png']
    system(cmd);

它说无效参数 - C:\Users\Vivek\208.png,我尝试了其他一些方法。但是,问题始终出在第二个参数上。

需要帮助

谢谢

【问题讨论】:

  • Matlab 中当前的工作目录是什么?和你从命令行运行时使用的一样吗?
  • 如果你只想把jpg转成png,你可以在matlab中使用imreadimwrite
  • 我想测试 ImageMgick,我必须使用它来进一步处理我的工作(制作适合 Tesserac OCR 的图像)。我刚刚检查了“复制”命令,它通过 Matlab 工作正常。 cmd= ['copy ' 'C:\Users\Vivek\209g.jpg ' 'C:\Users\Vivek\Desktop\209g.png']; system (cmd); 问题在于给出第二个参数的方式。无法推断它..
  • 您是否尝试指定要转换的完整路径?也许您在某处还有其他转换可执行文件。

标签: matlab system imagemagick-convert


【解决方案1】:

上一篇文章中提到的解决方案是标准解决问题的方法,但最简单的方法是重命名ImageMagick的convert.exe文件到别的东西,比如convert1.exe,并在你的脚本中使用这个文件名。

【讨论】:

    【解决方案2】:

    Windows 带有自己的convert 程序,看起来您正在调用该程序,因为它在此上下文中位于路径上。它在 ImageMagick 的网站上有所描述:http://www.imagemagick.org/Usage/windows/#convert_issue

    我没有安装 ImageMagick,当我尝试调用 convert 时收到相同的错误消息。这与您的代码得到错误的convert 程序一致。

    C:\Users\janke>convert C:\Users\Vivek\286.jpg C:\Users\Vivek\208.png
    Invalid Parameter - C:\Users\Vivek\208.png
    

    指定 ImageMagick 的 convert 程序的完整路径,它应该适合你。

    【讨论】:

    • 谢谢安德鲁 :) 这只是问题所在 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多