マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】ImageMagick


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「ImageMagick」とは
概要
ImageMagick(イメージマジック)は画像処理ライブラリです。コマンドラインツールやAPIライブラリとして利用します。非常に多くの画像フォーマットに対応し、豊富かつ高機能な画像処理機能を提供します。「スレッドによる高速処理」や「巨大サイズ画像処理サポート」などの特徴があります。
基本説明
ImageMagickは、200種類以上の画像フォーマットに対応しています。
「サイズ変更」「反転」「ミラーリング」「回転」「変形」「せん断」「色調整」「特殊効果適用」などの画像処理が可能です。
オフィシャルサイト情報
■オフィシャルサイト
■GitHub
→github.com →ImageMagick/ImageMagick
■ライセンス情報
ImageMagickのライセンスは「the ImageMagick License」です。
詳細について、こちらを参照ください。
→imagemagick.org →license
■動作環境
以下の各OSがサポートされています。
・Unix
・MacOSX
・iOS
・Android
・Windows
■ダウンロード
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「GraphicsMagick」など。
大きな画像サイズのサポート
ImageMagickは、テラピクセルクラスまでの画像サイズに対応できます。
64ビットOSにおける画像の幅または高さは、最大9エクサピクセルの範囲となります。
ただし、一部画像形式には画像サイズ制限があり、Photoshop画像の場合、幅または高さが300,000ピクセルに制限されています。
■分散ピクセルキャッシュ
「分散ピクセルキャッシュ」とは、単一ホストで利用可能な「ローカルピクセルキャッシュ」の拡張で、複数サーバにまたがるピクセルキャッシュを構成できます。1つ以上のホストでリモートピクセルキャッシュサーバを構成します。
「ローカルピクセルキャッシュ」のリソースが使い果たされると、ImageMagickはこれらのリモートピクセルキャッシュサーバに接続して、ピクセルキャッシュをスケーリングします。構成サーバ台数を増やすことで、「非常に大きな画像」または「非常に大きな画像シーケンス」をサポートできます。
分散ピクセルキャッシュは、ネットワーク帯域幅に依存して、リモートピクセルキャッシュサーバとの間でピクセルをマーシャリングします。そのため、ローカルピクセルキャッシュよりも大幅に処理速度が低下する場合があります。
スレッド化実行
ImageMagickの内部アルゴリズムの多くは、マルチコアプロセッサチップによって提供されるスピードアップを利用するためにスレッド化されています。
複数の実行スレッドでピクセルキャッシュにアクセスするためには「キャッシュビュー」を使用します。
ほとんどの場合、最適なパフォーマンスを得るために、デフォルトのスレッド数はシステム上のプロセッサコアの数に設定されています。
■OpenMPサポート
ImageMagickは「OpenMP(Open MultiProcessing)」をサポートしています。
OpenMP APIとは、「C」「C++」「Fortran」でのマルチプラットフォーム共有メモリ並列プログラミングをサポートします。デスクトップからスーパーコンピューターまでのプラットフォームで、並列アプリケーションを開発するためのシンプルかつ柔軟なインターフェースを備えており、スケーラブルなモデルを定義できます。
ImageMagickのほとんどの内部アルゴリズムは、OpenMPに対応しているため、マルチコアプロセッサチップによって提供される高速化を利用できます。
■スレッドセーフ
「MagickWandAPI」などのプログラムインターフェースは完全にスレッドセーフであるため、実行スレッドに特別な注意を払う必要はありません。
異種分散処理による高速化
ImageMagickには「OpenCLフレームワーク」による異種分散処理サポートが含まれています。
OpenCL(Open Computing Language)とは、「スーパーコンピューター」「クラウドサーバ」「パーソナルコンピューター」「モバイルデバイス」「組み込みプラットフォーム」などに対して、クロスプラットフォーム並列プログラミングを実行するためのオープン標準です。
ImageMagick内のOpenCLカーネルにより「CPU」「GPU」「その他のプロセッサ」で構成される異種プラットフォーム間で画像処理アルゴリズムを実行できます。
特定のアルゴリズムはOpenCL対応であり、マルチコアプラットフォームなどと接続し協調して実行することで、シングルCPUよりも桁違いに高速化できる場合があります。
「ImageMagick」の主な機能
フォーマット変換
画像を「あるフォーマット」から「別のフォーマット」に変換します。
PNGからJPEGなど。
画像変換
画像に対して「サイズ変更」「回転」「トリミング」「反転」「トリミング」などの処理を実施します。
→legacy.imagemagick.org →Usage →resize
透明度処理
「透明度チャネル」を使用して、透明度を調整します。
「不要な背景」「テキスト」などの不要な要素を非表示化します。
→legacy.imagemagick.org →Usage →masking
描画
ImageMagickにおける「描画」とは、既存画像に新しい要素を追加することを意味します。
画像に「図形」や「テキスト」を追加します。
→legacy.imagemagick.org →Usage →draw
装飾
画像に「境界線」や「フレーム」を追加します。
→legacy.imagemagick.org →Usage →crop
特殊効果
画像の「ぼかし」「色合い」「鮮明化」などを調整します。
→legacy.imagemagick.org →Usage →blur
テキストとコメント
画像に「説明的テキスト」または「芸術的テキスト」を挿入します。
→legacy.imagemagick.org →Usage →text
画像グラデーション
「線形」「円形」「楕円形」の形状に形成された2つの色の段階的なブレンドグラデーションを作成します。
画像識別
1つ以上の画像ファイルの「形式」と「属性」を説明します。
・画像番号
・ファイル名
・画像の幅と高さ
・カラーマップ
・色数
・バイト数
・画像形式
・画像破損状態 など
画像合成
「ある画像」を「別の画像」に重ねます。
モンタージュ
複数の個別画像を組み合わせて合成画像を作成します。
画像のサムネイルをキャンバスに並べます。
「境界線」「フレーム」「画像名」などで装飾できます。
歪み処理
遠近法を含む画像の歪み表現を追加します。
「モーフのような歪み」などのさまざまなパターンで作成できます。
→legacy.imagemagick.org →Usage →distorts
画像内パターン認識
画像の特徴を抽出し、形状を記述し、画像内のパターンを認識します。
画像を囲む他のピクセル近くの近傍に基づいて、さまざまな方法で画像を変更します。
これによりさまざまな効果が得られます。
・シェイプの拡大と縮小
・エッジからの距離
・正中線軸までの細線化 など
→legacy.imagemagick.org →Usage →morphology
画像特徴描写
「キャニーエッジ検出」「平均シフト」「ハフライン」などの処理を実行できます。
→legacy.imagemagick.org →Usage →transform →vision
映画画像形式のサポート
「DPX:SMPTE 268M-2003」などの、デジタルフィルム作業で使用される画像形式の読み取りと書き込みをサポートします。
このフォーマットは、映画およびエフェクト業界で使用されており、広範なヘッダ情報を持ち、さまざまなビット深度で高ダイナミックレンジおよび対数カラー値を処理できます。
→imagemagick.org →motion-picture
FX特殊効果画像オペレーター
FX特殊効果画像演算子を使用して、1つまたは複数の画像チャネルに数式を適用します。
・「キャンバス」「グラデーション」「数学的カラーマップ」を作成
・画像とチャンネル間でカラー値を移動
・画像処理:「変換」「反転」「ミラーリング」「回転」「拡大縮小」「せん断」「一般的な歪み」
・複数画像の「マージ」または「合成」
・隣接ピクセルに対する「畳み込み」と「マージ」
・「画像メトリック」または「フィンガープリント」を生成
連結成分ラベリング
画像内の連結成分に一意のラベルを付けます。
→imagemagick.org →connected-components
離散フーリエ変換
フーリエ変換を利用すると、使い慣れた処理を行うための新しい方法を提供できます。
・明るさとコントラストの向上
・ぼかし
・シャープネス
・ノイズ除去 など
→legacy.imagemagick.org →Usage →fourier
知覚ハッシュ
視覚的に同一の画像を同じまたは類似のハッシュにマッピングします。
「画像検索」「認証」「インデックス作成」「コピー検出」「電子透かし」などに利用できます。
→fmwconcepts.com →perceptual_hash_test_results
カラーマネジメント
カラープロファイルを使用した正確なカラーマネジメントが可能です。
→imagemagick.org →color-management
バイラテラルブラー
各ピクセルの強度を、近くのピクセルからの強度値の加重平均に置き換えます。
「非線形」「エッジ保存」「ノイズ低減用スムージングフィルター」などで利用できます。
→imagemagick.org →command-line-options →bilateral-blur
ハイダイナミックレンジイメージング
標準デジタルイメージング技術よりも、はるかに広いダイナミックレンジ露出を可能にします。
「最も明るい直射日光」から「最も深い暗い影」まで、実際のシーンで見られる広範囲の強度レベルを正確に表します。
→imagemagick.org →high-dynamic-range
画像暗号化(復号化)
「通常画像」を「理解できない意味不明な画像」に変換後、パスフレーズによって元に戻す機能です。
元画像が表示されないようにスクランブル化できます。
ピクセルのみがスクランブル化されるため、スクランブル化画像はそのまま画像として認識され、Webページにも表示されます。
仮想ピクセルのサポート
対象ピクセル周辺のピクセル近傍を必要とする画像処理アルゴリズムで、画像領域外ピクセルへのアクセスとして利用できます。
→imagemagick.org →architecture →virtual-pixels
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク2位🏆
【無料で使える】「 OCR 」ツールまとめ - 🏆ランク3位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク4位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク5位🏆
【無料で使える】「 ドキュメント管理 」ツールまとめ - 🏆ランク6位🏆
【ツール紹介】無料で使えるオープンソース「 ヘルプデスク 管理ツール 」まとめ5選 - 🏆ランク7位🏆
【無料で使える】「 RPA 」ツールまとめ - 🏆ランク8位🏆
【OSS情報アーカイブ】fping - 🏆ランク9位🏆
【OSS情報アーカイブ】nano - 🏆ランク10位🏆
【OSS情報アーカイブ】Red Hat Enterprise Linux
おすすめの記事


ChatGPT探訪
2023.11.10
【ChatGPT探訪】GPT-4V「 画像解析機能 」🔍
ChatGPT4の「 画像解析機能 」について、 画像読み込み機能チェックを実施してみました🔍 「請求書不備チェック」は便利なのですが、 クローズドGPTを使いたくなります🤔 さまざまな用途に活用できる可能性を感じました🌟 いろいろ分析してくれるので、 試してみてください👍