我下载了 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 支持。