Introdução
Explorar ao máximo a biblioteca ImageMagick tem consequências importantes no desempenho geral de seus algoritmos. O paradigma de threading OpenMP está disponível no ImageMagick para impulsionar alguns algoritmos.
Este tutorial mostra como:
configurar a instalação do ImageMagick com compilador intel
resolver problema de macports no OsX 10.9
use ImageMagick com XCode 5
Requisitos:
Os requisitos de software para seguir este tutorial são os seguintes:
Vamos começar com as etapas básicas.
- Temos que instalar o software de terceiros (ou delegado) para ImageMagick.
sudo port -v install librsvg
sudo port -v install graphviz +gs +wmf +jbig +jpeg2 +lcms
sudo port -v install jpeg, tiff, ffmpeg
Baixe o último código-fonte do ImageMagick .
Inicialize o ambiente para o compilador Intel, se ainda não tiver feito:
source /opt/intel/bin/compilervars.sh intel64
Problema de conflito Macport
Se você der uma olhada na biblioteca jpeg, poderá manter um conflito como este:
$port info jpeg
jpeg @9a_1 (graphics)
Variants: universal
Description: This package contains C software to implement JPEG image encoding, decoding, and transcoding. This software implements JPEG baseline, extended-sequential, and progressive compression
processes.
Homepage: http://www.ijg.org/
Conflicts with: libjpeg-turbo, mozjpeg
Platforms: darwin, freebsd, sunos
License: IJG
O conflito não permite que o script de configuração do ImageMagick encontre o delegado jpeg certo, e também todas as dependências de bibliotecas jpeg relacionadas, como tiff.
A maneira de evitar problemas de macport é especificar sua biblioteca de escolha para jpeg por: LDFLAGS = -L / opt / local / lib -ljpeg
Configuração
Duas opções para o compilador intel serão suficientes: -fopenmp -fast
Agora você pode executar:
$./configure --prefix="/opt/local" "CC=icc" "CFLAGS=-fopenmp -fast" "CXX=icpc" "CXXFLAGS=-fopenmp -fast" "LDFLAGS=-L/opt/local/lib -ljpeg" --with-quantum-depth=16 --disable-dependency-tracking --with-x=yes --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib/ --without-perl --enable-shared=yes --enable-static=yes
Seguido por make e sudo make install
Testando
Se tudo correr bem, você deverá ver o recurso OpenMP
$convert --version
Version: ImageMagick 6.8.9-3 Q16 x86_64 2014-06-18 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC OpenMP
Delegates: bzlib fontconfig freetype jbig jng jpeg lcms lzma pangocairo png tiff webp x xml zlib
Um teste de redimensionamento simples:
convert image.jpg -resize 64x64 resize_image.jpg
Se o binário de conversão funcionar bem, talvez você esteja pronto para integrar as bibliotecas do ImageMagick em seu aplicativo.
Use ImageMagick com XCode 5
Como de costume, para integrar o ImageMagick ou qualquer biblioteca em seu aplicativo, você deve definir os caminhos para a biblioteca e os cabeçalhos. Vamos dar uma olhada no XCode 5.
Para resolver links:
Project Navigator -> Selecione seu destino -> Build Settings -> Linking -> Other Linker FLags
Adicione estas strings: -L / opt / local / lib , -lMagickCore-6.Q16
Você pode querer adicionar a biblioteca Wand (-lMagickWand-6.Q16) e C ++ (-lMagick ++ – 6.Q16) também.
Para resolver cabeçalhos:
Project Navigator -> Selecione seu destino -> Build Settings -> Search Paths -> Header Search Paths
Adicione a string / opt / local / include / ImageMagick-6 /
Você finalmente está pronto para jogar com ImageMagick!