Matlab:ImageMagick的系统调用获取禁止参数

Matlab: system call of ImageMagick get forbidden parameter

我想从 Matlab(Win、德语 GUI)调用 ImageMagick,但我在命令 Window 中收到一条错误消息 "Unzulässiger Parameter - -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引起的,因为如果我删除第一个negate适应"Unzulässiger Parameter - -morphology "的错误信息。

如果您使用的是 ImageMagick 的版本 7+,请尝试将命令 convert 更改为 magick,因为有一个名为 [=14] 的 Microsoft 程序=] 冲突:

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

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

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

或尝试在 Matlab 中设置 PATH 环境变量以包含安装 ImageMagick 的目录,但将其放在您的 PATH 的最开始 - 在 C:\Windows\System32 之前,令人讨厌的 Microsoft CONVERT.EXE 潜伏在那里。