我安装imagemagick
了为什么 ImageMagick with OpenCL 比 OpenMP 慢?. 我需要将图像调整为 4 种不同的尺寸并且必须裁剪它们。我编写了一个 C++ 程序,它为文件夹中的 100 个图像调用image.resize("500x500!")
, image.resize("550x550!")
, image.resize("600x600!")
, image.resize("650x650!")
, 。image.crop(Geometry(200,150, 10,50))
当我像这样在命令行中运行相同的案例时:
cd /home/Downloads/ImageMagick-6.9.3-7/utilities/ && \
exec sudo time ./convert img.jpg -write \
mpr:scroll -filter Lanczos -resize 500x500 -crop 200x150+10+50 -write m.jpg delete \
mpr:scroll -filter Lanczos -resize 600x600 -crop 200x150+10+50 -write n.jpg delete \
mpr:scroll -filter Lanczos -resize 550x550 -crop 200x150+10+50 -write o.jpg delete \
mpr:scroll -filter Lanczos -resize 650x650 -crop 200x150+10+50 p.jpg;
我在 8124.13 毫秒内得到了输出。但是当我在 Magick++ API 中做同样的事情时,我在 369237 毫秒内得到了输出。为什么会有这么大的区别?
当我这样检查设备基准文件时:
$ cat ~/.cache/ImageMagick/ImagemagickOpenCLDeviceProfile
表明
<version>ImageMagick Device Selection v0.9</version>
<device><type></type><name>Quadro M6000</name><driver>352.79</driver><max cu>24</max cu><max clock>1114</max clock><score>0.0960</score></device>
<device><type></type><score>1.1890</score></device>
根据如何使用 OpenCL 构建 ImageMagick?,API 必须在 GPU 中运行,因为 GPU 设备的分数最低。我该如何解决?