java - 无法从 Java im4java 执行 ImageMagick 的比较命令

标签 java im4java

我正在使用 Eclipse JUNO JDK 7 im4java-1.4.0

当我执行 Java 程序时,我遇到了以下问题

org.im4java.core.CommandException: org.im4java.core.CommandException: compare.exe

我的代码是:

public static void main(String[] args) {
    String imPath = "D:/ImageMagick-6.8.5-Q16";
    ProcessStarter.setGlobalSearchPath(imPath);
    System.out.println(imPath);

    File image1 = new File("src//test//one.png");
    File image2 = new File("src//test//two.png");

    CompareCmd compareCmd = new CompareCmd();
    compareCmd.setSearchPath(imPath);

    IMOperation imOperation = new IMOperation();
    imOperation.metric("MAE");
    imOperation.addImage(image1.getAbsolutePath());
    imOperation.addImage(image2.getAbsolutePath());

    try {
        compareCmd.run(imOperation);
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    catch (InterruptedException e) {
        e.printStackTrace();
    }
    catch (IM4JavaException e) {
        e.printStackTrace();
    }
}

请给我建议。提前致谢。

最佳答案

将 ImageMagick 的路径添加到 PATH 变量中。以及

CompareCmd compareCmd = new CompareCmd();
compareCmd.setSearchPath("D:/ImageMagick-6.8.5-Q16");

关于java - 无法从 Java im4java 执行 ImageMagick 的比较命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28634447/

相关文章:

java - 在 im4java 中打开 SWT 图像

java - 创建 Dicom 图像

java - im4java,mac 运行问题

java - 这个伞异常的原因是什么

java - 在哪里可以找到 oracle.security.jps.service.credstore.Credential jar

java - 如何设置 Primefaces 图表中轴标签的格式

java - 使用 Junit 或 Jmock 断言 java beans 数组具有唯一的属性值

java - libGDX 如果用户在触摸后移动手指,如何停止 touchUp 注册

java - 对 im4java 的性能进行基准测试

java - 通过 ImageMagick 流式传输的 JPEG 文件与原始文件的大小不同