无法在命令提示符中执行 ImageMagick -fft

无法在命令提示符中执行 ImageMagick -fft

我下载了 ImageMagick(Windows 7 64 位)和 FFTW,我可以执行简单的命令,但无法使用该-fft选项。

命令来自 ImageMagickv6 示例。所有示例均无效-fft。各种命令的状态如下:

convert -size 128x128 xc:gold constant.png                (WORKS)

convert constant.png -fft +delete constant_magnitude.png  (DOES NOT)

我收到以下消息:

convert.exe: delegate library not built-i"constant.png" (FFTW) @ warning/fourier.c/ForwardFourierTransformImage/982
convert.exe: no images defined 'constant_magnitude.png @error/convert.c/ConvertImageCommand/3210

答案1

您应该检查此命令的输出:

convert -version

就我而言,我得到:

Version: ImageMagick 6.9.0-0 Q16 x86_64 2014-12-06 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc \
                      jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo \
                      png ps rsvg tiff webp wmf x xml zlib

这意味着,我的安装,fftw 代表可用。(第一个可用的 ImageMagick 版本是 v6.5.4-3。)

对于 ImageMagick 来说,“委托”是一个外部程序或内部附加模块,它可以处理某些任务。fftw用于“快速傅里叶变换”。

如果你的命令输出convert -version没有列出fftw,那你就倒霉了。你需要安装一个包含它的其他版本。


更新

似乎在 Windows 的预编译二进制文件中,没有对fftw委托的支持。FFT 是通过外部库实现的,该库受 GPL 许可。这就是 IM 开发人员无法默认包含它的原因。

看来您必须自己从源代码在 Windows 上构建 IM 才能获得 FFT 支持。

相关内容