ImageMagickのインストールと使用
3798 ワード
最近、ImageMagickを使ってホテルの団体購入画像を処理し、ブログを書いて、そのインストールと使用方法をまとめました.ImageMagickは、強力で無料の画像処理開発パッケージで、さまざまなフォーマットの画像ファイルを読む、書く、処理することができます.つまり、非常に強力です.くだらないことは多くありません.すぐにインストールと使用方法を見てみましょう.
1、インストール
linuxのソースコードのインストールを例にとると、まずリンクを開いて最新のImageMagickソースパッケージをダウンロードし、現在の最新バージョン番号のソースパッケージはImageMagick-6.7.9-3.tar.gzであり、ダウンロードが完了した後、インストールを開始する.
まずファイルダウンロードフォルダに入り、ソースパッケージを解凍します.
ファイルの解凍が完了したら、解凍フォルダに入ります.
次は3部作のインストールです.
このプロセスでは、システムのコンパイルリンク環境やImageMagickに依存するサードパーティライブラリをチェックします.特に、ImageMagickは、画像を処理する際にjpeg、pngなどのサードパーティライブラリに依存する必要があります.プログラムがこれらのグリッドの画像を処理する必要があると仮定すると、これらのライブラリが正しくインストールされていることを確認する必要があります../configureが終了すると、次の図のようなチェックレポートが出力されます.
図に示すように、現在のシステムにはjpegサードパーティライブラリがインストールされていません.業務ではjpeg形式の画像を処理する必要があるため、ImageMagickをインストールする前にjpegサードパーティライブラリをインストールする必要があります.に着く リンクを開いて最新のソースパッケージjpegsrc.v 8 d.tar.gzをダウンロードするには、インストール手順はImageMagickと基本的に同じで、ここでは多くは言いません.jpegライブラリのインストールが完了すると、ImageMagickのインストールを続行できます.
次に、ソースコードのコンパイルとインストールについて説明します.
デフォルトのImageMagickは/usr/localパスにインストールされ、正常にインストールされるとコマンドラインモードでImageMagickを使用できます.
2、コマンドラインモード
ImageMagickの最も便利な点は、コマンドラインモードで実行できることです.shellスクリプトと組み合わせて、複雑な画像操作を行うことができます.以下、簡単なサンプルをいくつか挙げて、レンガを投げて玉を引くことができます.
(1)ピクチャフォーマット変換:例えばフォルダ下のすべてのjpegフォーマットのピクチャをpngに変換すると、例えば以下の操作が可能となる.
(2)圧縮ピクチャサイズ:一般的に、ウェブアプリケーションでは、ピクチャが非常に多いまたは非常に大きいと仮定すると、ピクチャサイズを適切に圧縮することを考慮する必要があり、よく使用される圧縮方法は、ピクチャサイズ(ピクチャスケール)を小さくし、圧縮比を調整したり、ピクチャ中の余分な情報を除去したりすることである.これらの操作はImageMagickで簡単に完了できます.
src.jpgのピクチャサイズを100 x 100に調整し、convertコマンドはピクチャの高さと幅を調整する過程で等比圧縮を行います.すなわち、ピクチャdes.jpgのアスペクト比はsrc.jpgと一致します.
圧縮比が低いほど、画像の大きさが小さくなり、一般的に75%が最適な圧縮比となり、このような場合、肉眼では画像の歪みが非常に見えにくい.
デジタルカメラは、生成された画像に追加の情報を残し、convert-stripコマンドを使用して削除することができます.
以上の3つの操作を一緒に行うことができます.
ImageMagickの機能は非常に強く、上はレンガを投げて玉を引くだけで、興味のある学生は他の多くの機能と使用方法を掘り起こすことができます.
3、プログラミングインターフェースモード
コマンドラインモードに加えて、ImageMagickは、c、c++、java、php、perlなど、様々な言語のプログラミングインターフェースを提供しています.以下、c++インターフェースを例に、その使い方を示します.
ImageMagickのc++インタフェースの名前はMagick++で、Magick++には次の重要なオブジェクトがあります.
Image:画像オブジェクト、Magick++の中で最も重要なオブジェクト;
Geometry:Geometryには、画像の長さ、幅、オフセットなどの情報が含まれています.
Pixels Pixels:ピクチャのピクセルオブジェクト
Color:画像の色オブジェクト
Blob:バイナリデータ大オブジェクトコンテナ
上記の例から、Magick++の使用は簡単であることがわかります.Magick++.hのヘッダファイルを含めるだけでいいです.apiやオブジェクトはすべてMagickのネーミングスペースに配置されています.唯一注意しなければならないのは、Magick++がエラーが発生したときに異常を投げ出すことです.try catchブロックを使用して異常をキャプチャする必要があります.もっと具体的なapiドキュメントは以下のURLを参考にすることができて、ドキュメントを使って紹介するのはとても具体的で、しかも各種のサンプルがあって、理解しにくいことはできないと信じています:リンクを開けて別にコンパイルする時-I/usr/local/include/ImageMagick、-L/usr/local/lib、-lMagickCore-lm-lgomp-lpthreadを学んで、c++のすべて知っていて、ここでは多く言いません
1、インストール
linuxのソースコードのインストールを例にとると、まずリンクを開いて最新のImageMagickソースパッケージをダウンロードし、現在の最新バージョン番号のソースパッケージはImageMagick-6.7.9-3.tar.gzであり、ダウンロードが完了した後、インストールを開始する.
まずファイルダウンロードフォルダに入り、ソースパッケージを解凍します.
cd ./Downloads
tar xzvf ImageMagick-6.7.9-3.tar.gz
ファイルの解凍が完了したら、解凍フォルダに入ります.
cd ImageMagick-6.7.9-3/
次は3部作のインストールです.
./configure
このプロセスでは、システムのコンパイルリンク環境やImageMagickに依存するサードパーティライブラリをチェックします.特に、ImageMagickは、画像を処理する際にjpeg、pngなどのサードパーティライブラリに依存する必要があります.プログラムがこれらのグリッドの画像を処理する必要があると仮定すると、これらのライブラリが正しくインストールされていることを確認する必要があります../configureが終了すると、次の図のようなチェックレポートが出力されます.
図に示すように、現在のシステムにはjpegサードパーティライブラリがインストールされていません.業務ではjpeg形式の画像を処理する必要があるため、ImageMagickをインストールする前にjpegサードパーティライブラリをインストールする必要があります.に着く リンクを開いて最新のソースパッケージjpegsrc.v 8 d.tar.gzをダウンロードするには、インストール手順はImageMagickと基本的に同じで、ここでは多くは言いません.jpegライブラリのインストールが完了すると、ImageMagickのインストールを続行できます.
次に、ソースコードのコンパイルとインストールについて説明します.
make
sudo make install
デフォルトのImageMagickは/usr/localパスにインストールされ、正常にインストールされるとコマンドラインモードでImageMagickを使用できます.
2、コマンドラインモード
ImageMagickの最も便利な点は、コマンドラインモードで実行できることです.shellスクリプトと組み合わせて、複雑な画像操作を行うことができます.以下、簡単なサンプルをいくつか挙げて、レンガを投げて玉を引くことができます.
(1)ピクチャフォーマット変換:例えばフォルダ下のすべてのjpegフォーマットのピクチャをpngに変換すると、例えば以下の操作が可能となる.
for pic in *.jpg
do
convert ${pic} `basename ${pic} .jpg`.png
done
(2)圧縮ピクチャサイズ:一般的に、ウェブアプリケーションでは、ピクチャが非常に多いまたは非常に大きいと仮定すると、ピクチャサイズを適切に圧縮することを考慮する必要があり、よく使用される圧縮方法は、ピクチャサイズ(ピクチャスケール)を小さくし、圧縮比を調整したり、ピクチャ中の余分な情報を除去したりすることである.これらの操作はImageMagickで簡単に完了できます.
convert -resize 100x100 src.jpg des.jpg
src.jpgのピクチャサイズを100 x 100に調整し、convertコマンドはピクチャの高さと幅を調整する過程で等比圧縮を行います.すなわち、ピクチャdes.jpgのアスペクト比はsrc.jpgと一致します.
convert -quality 75% src.jpg des.jpg
圧縮比が低いほど、画像の大きさが小さくなり、一般的に75%が最適な圧縮比となり、このような場合、肉眼では画像の歪みが非常に見えにくい.
convert -strip src.jpg dest.jpg
デジタルカメラは、生成された画像に追加の情報を残し、convert-stripコマンドを使用して削除することができます.
以上の3つの操作を一緒に行うことができます.
convert -resize 100x100 –strip -quality 75% src.jpg dest.jpg
ImageMagickの機能は非常に強く、上はレンガを投げて玉を引くだけで、興味のある学生は他の多くの機能と使用方法を掘り起こすことができます.
3、プログラミングインターフェースモード
コマンドラインモードに加えて、ImageMagickは、c、c++、java、php、perlなど、様々な言語のプログラミングインターフェースを提供しています.以下、c++インターフェースを例に、その使い方を示します.
ImageMagickのc++インタフェースの名前はMagick++で、Magick++には次の重要なオブジェクトがあります.
Image:画像オブジェクト、Magick++の中で最も重要なオブジェクト;
Geometry:Geometryには、画像の長さ、幅、オフセットなどの情報が含まれています.
Pixels Pixels:ピクチャのピクセルオブジェクト
Color:画像の色オブジェクト
Blob:バイナリデータ大オブジェクトコンテナ
#include
#include
using namespace std;
using namespace Magick;
int main(int argc, char **argv)
{
InitializeMagick(*argv);
Image image;
try {
// , image
image.read( "src.jpg" );
// 100x100
image.resize( Geometry(100,100) );
//
image.write( "dest.jpg" );
}
catch( Exception &error_ )
{
cout << "Caught exception: " << error_.what() << endl;
return 1;
}
return 0;
}
上記の例から、Magick++の使用は簡単であることがわかります.Magick++.hのヘッダファイルを含めるだけでいいです.apiやオブジェクトはすべてMagickのネーミングスペースに配置されています.唯一注意しなければならないのは、Magick++がエラーが発生したときに異常を投げ出すことです.try catchブロックを使用して異常をキャプチャする必要があります.もっと具体的なapiドキュメントは以下のURLを参考にすることができて、ドキュメントを使って紹介するのはとても具体的で、しかも各種のサンプルがあって、理解しにくいことはできないと信じています:リンクを開けて別にコンパイルする時-I/usr/local/include/ImageMagick、-L/usr/local/lib、-lMagickCore-lm-lgomp-lpthreadを学んで、c++のすべて知っていて、ここでは多く言いません