Instale ImageMagick + Os X + Intel Compiler + OpenMP

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!