Matlab:ImageMagick的系统调用得到禁止参数

时间:2017-02-18 10:47:10

标签: matlab imagemagick system-calls

我想从Matlab(Win,德语GUI)调用ImageMagick,但是我在命令窗口中输入错误消息“UnzulässigerParameter - -negate”(禁止参数)。

output_meta_folder = 'D:\D-ART\Abstrakt_ART\CM\';
system_string = strcat('convert', [' ', output_meta_folder], 'CM_mask.jpg', ' -negate -morphology Thicken Disk:10 -negate ', [' ', output_meta_folder], 'CM_mask_morpho_D10.jpg'); 
disp(system_string);
status = system(system_string);

但命令是正确的;如果我复制显示的系统字符串并将其粘贴到命令行中,我没有得到ImageMagick的错误:

convert D:\D-ART\Abstrakt_ART\CM\CM_mask.jpg -negate -morphology Thicken Disk:10 -negate D:\D-ART\Abstrakt_ART\CM\CM_mask_morpho_D10.jpg

错误不能由-negate引起,因为如果我删除第一个否定错误消息,则适用于“Unzulässiger参数 - 形态”。

1 个答案:

答案 0 :(得分:0)

如果您使用的是 ImageMagick 版本7+,请尝试将命令convert更改为magick,因为有一个名为CONVERT.EXE的Microsoft程序会发生冲突:

magick someFile -negate -morphology ... -negate result.jpg

如果这不起作用,请尝试指定convert的完整路径,例如类似的东西:

C:\Programs\ImageMagick-6.9.3\bin\convert ...

或尝试在 Matlab 中设置PATH环境变量,以包含安装 ImageMagick 的目录,但将其放在PATH的最开头 - 提前那个令人讨厌的微软C:\Windows\System32潜伏着的CONVERT.EXE