メニュー付きのディスプレイのスクリーンショット | |
| 原作者 | ジョン・クリスティ |
|---|---|
| 開発者 | イメージマジックスタジオLLC |
| 初回リリース | 1990年8月1日[1] |
| 安定リリース | 7.1.1.35 [2]
/ 2024年7月14日 |
| リポジトリ |
|
| 書かれた | C |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | 画像操作 |
| ライセンス | イメージマジック[3] |
| Webサイト | イメージマジック |
| 著者 | イメージマジックスタジオLLC |
|---|---|
| SPDX識別子 | イメージマジック[4] |
| Debian FSG 互換 | はい |
| GPL互換 | はい |
| 異なるライセンスのコードからのリンク | はい |
| Webサイト | イメージマジック |
ImageMagickは、コマンドラインから として呼び出され、ラスター画像を表示、作成、変換、変更、編集するための無料のオープンソース[3]クロスプラットフォームソフトウェアスイートmagickです。ImageMagickは1987年にJohn Cristyによって作成され、200を超える画像ファイル形式を読み書きできます。オープンソースアプリケーションで広く使用されています。
歴史
ImageMagickは、1987年にジョン・クリスティがデュポン社で働いていたときに作成されました。24ビット画像(1600万色)を8ビット画像(256色)に変換し、当時のほとんどの画面で表示できるようにしました。デュポン社がImageMagick Studio LLCに著作権を譲渡することに合意した1990年に、ImageMagick Studio LLCは現在もプロジェクト管理者組織となっています。[5] [6] [7]
2016 年 5 月、ImageMagick に脆弱性があり、攻撃者がこのアプリケーションを使用してユーザーがアップロードした画像を編集するサーバー上で任意のコードを実行できると報告されました。[8] Cloudflare のセキュリティ研究者は、アクティブなハッキングの試みでこの脆弱性が使用されていることを確認しました。[9]このセキュリティ上の欠陥は、ImageMagick がパスとファイル名に不適切なシェル コマンドが含まれていないことを適切に確認せずにバックエンド ツールを呼び出すことに起因していました。[10]この脆弱性は、適切に構成されたセキュリティ ポリシーを含む ImageMagick ディストリビューションには影響しませんでした。[要出典]
機能と性能
このソフトウェアは主に、画像を操作するためのコマンドライン インターフェイスユーティリティで構成されています。ImageMagick には、 Adobe PhotoshopやGIMPのような画像編集用の堅牢なグラフィカル ユーザー インターフェイスはありませんが、 Unix 系オペレーティング システム向けに、画像のレンダリングと操作を行うための基本的なネイティブX ウィンドウGUI (IMDisplay と呼ばれる) と、多くのプログラミング言語用のAPIライブラリが含まれています。このプログラムは、マジック ナンバーを使用して画像ファイル形式を識別します。
Drupal、MediaWiki、phpBB、vBulletinなどの多くのプログラムでは、インストールされている場合、ImageMagick を使用して画像のサムネイルを作成できます。ImageMagick は、 LyXなどの他のプログラムでも画像の変換に使用されます。
ImageMagickには、PerlMagickと呼ばれる完全に統合されたPerl バインディング[11]があり、他にもG2F ( Ada )、MagickCore ( C )、MagickkWand (C)、ChMagick (Ch)、ImageMagickObject ( COM+ )、Magick++ ( C++ )、JMagick ( Java )、L-Magick ( Lisp )、NMagick ( Neko / Haxe )、MagickNet ( .NET )、PascalMagick ( Pascal )、MagickkWand for PHP ( PHP )、IMagick (PHP)、PythonMagick ( Python )、RMagick ( Ruby )、TclMagick ( Tcl/Tk )などがあります。
ファイル形式の変換
ImageMagick の基本的な、徹底的に実装された機能の 1 つは、異なるファイル形式間で画像を効率的かつ正確に変換する機能です (これを実現するには コマンドを使用しますconvert)。
色の量子化
画像のピクセル間に存在する最も目立つ色の値に重み付けすることで、画像内の色の数を任意の数に減らすことができます。
関連する機能として、ポスタリゼーションアート効果があります。これも、画像内に表示される色の数を減らします。これと標準のカラー クォンタイズの違いは、標準のクォンタイズでは、最終的なパレットが画像内の既存の色の重要度の重み付けに基づいて選択されるのに対し、ポスタリゼーションでは、画像内に表示されるスペクトル全体に滑らかに分散された色のパレットが作成される点です。標準のカラー クォンタイズでは、最終的なカラー値はすべて元の画像にあった値ですが、ポスタリゼーションされた画像内のカラー値は元の画像には存在しなかった可能性があり、元のカラー値の間にあります。
ディザリング
ハーフトーンディザリングを生成する機能など、色とシェーディングの変更中に発生するディザリングを細かく制御できます。
液体の再スケーリング
2008年には、液体リスケーリングのサポートが追加されました。[12]この機能により、たとえば、画像を歪ませることなく4:3の画像を16:9の画像にリスケーリングすることができます。
芸術的効果
ImageMagick には、芸術的な効果を生み出すためのさまざまなフィルターと機能が含まれています。
- 木炭スケッチの変形
- ポスタリゼーション
オープンCL
ImageMagickはOpenCLを使用して、処理に高速グラフィックカード(GPU)を使用することができます。[13]
濃い色
Q8 バージョンは、最大 8 ビット/ピクセル コンポーネント (8 ビット グレースケール、24 ビットまたは 32 ビットRGB カラー) をサポートします。Q16 バージョンは、最大 16 ビット/ピクセル コンポーネント (16 ビット グレースケール、最大 48 ビットまたは 64 ビット RGB カラー) をサポートします。
他の
以下は ImageMagick のその他の機能です。
- 形式変換: 画像をある形式から別の形式に変換します (例: PNGからJPEG )。
- 変換: 画像のサイズ変更、回転、切り取り、反転、またはトリムを行います。(可能な場合は、JPEG ファイルに世代損失なしでこれらを適用します。)
- 透明度: 画像の一部を非表示にします。
- 描画: 画像に図形やテキストを追加します。
- 装飾: 画像に境界線またはフレームを追加します。
- 特殊効果: 画像をぼかしたり、シャープにしたり、しきい値を設定したり、色付けしたりします。
- アニメーション:一連の画像からGIFアニメーション ファイルを組み立てます。
- テキストとコメント: 画像に説明文や芸術的なテキストを挿入します。
- 画像識別: 画像の形式と属性を説明します。
- 合成: 1 つの画像を別の画像に重ねます。
- モンタージュ: 画像キャンバスに画像のサムネイルを並べます。
- 一般化されたピクセル歪み: 遠近感を含む画像の歪みを修正または誘発します。
- 形状の形態学: 画像内の特徴を抽出し、形状を記述し、パターンを認識します。
- 映画のサポート: デジタル映画作品で使用される一般的な画像形式の読み取りと書き込みを行います。
- 画像計算機: 画像または画像チャネルに数式を適用します。
- 離散フーリエ変換: 順方向および逆方向の DFT を実装します。
- カラー管理: カラー プロファイルを使用した正確なカラー管理、またはカラー スペースの要求に応じて組み込みのガンマ圧縮または拡張。
- ハイダイナミックレンジ画像: 最も明るい直射日光から最も暗い影まで、実際のシーンに見られる広範囲の強度レベルを正確に表現します。
- 画像を暗号化または解読します。通常の画像を理解できない意味不明な文字に変換し、また元に戻します。
- 仮想ピクセルのサポート: 画像領域外のピクセルに簡単にアクセスできます。
- 大きな画像のサポート: メガピクセル、ギガピクセル、テラピクセルの画像サイズの読み取り、処理、書き込みを行います。
- 実行スレッドのサポート: ImageMagick はスレッドセーフであり、ほとんどの内部アルゴリズムは並列で実行され、マルチコア プロセッサチップによって提供される高速化を活用します。
- 異種分散処理: 特定のアルゴリズムは OpenCL 対応であり、CPU、GPU、およびその他のプロセッサで構成される異種プラットフォーム間で連携して実行することで実現される高速化のメリットを活用できます。
- 分散ピクセル キャッシュ: 中間ピクセル ストレージを 1 つ以上のリモート サーバーにオフロードします。
分布
ImageMagickはクロスプラットフォームであり、Microsoft WindowsおよびLinux、macOS、iOS、Android、Solaris、Haiku、FreeBSDなどのUnix系システムで動作します。プロジェクトのソースコードは、 AmigaOS 4.0やMorphOSなどの他のシステム用にコンパイルできます。IRIXでも動作しています。[14]
関連ソフトウェア
GraphicsMagickは2002年に作成されたImageMagick 5.5.2のフォークであり、プログラミングAPIとコマンドラインオプションのリリース間の安定性を重視しています。GraphicsMagickは開発者グループ内の和解不可能な相違の結果として生まれました。[15]
参照
参考文献
- ^ 「歴史」。ImageMagick。2018年3月14日時点のオリジナルよりアーカイブ。2018年3月18日閲覧。
ペンサック博士はデュポンの上層部を説得しなければならなかった。...いずれにせよ、デュポンがImageMagick Studio LLCに著作権を譲渡しなければ、ImageMagickは今日では利用できないだろう。ImageMagickは1990年8月1日にUsenetのcomp.archivesグループに投稿された。
- ^ “7.1.1-35” . 2024年7月16日閲覧。
- ^ abc 「ImageMagick: ライセンス」。ImageMagick 。 2016年10月26日時点のオリジナルよりアーカイブ。 2016年10月26日閲覧。
- ^ 「ImageMagick ライセンス」。spdx.org。
- ^ 「ImageMagick: History」。www.imagemagick.org。ImageMagick Studio。2016年10月29日時点のオリジナルよりアーカイブ。2016年10月18日閲覧。
- ^ Hajdarbegovic, Nermin (2019年2月12日). 「ImageMagick: コマンドラインからグラフィックスを操作する?」whoishostingthis.com . 2020年9月29日時点のオリジナルよりアーカイブ。2020年8月18日閲覧。
- ^ “ImageMagick”. computerhope.com . 2019年2月27日. 2020年8月18日閲覧。
- ^ 「エクスプロイトが暴走:ハッカーが重大な画像処理バグを狙う」 Ars Technica 2016年。2016年9月25日時点のオリジナルよりアーカイブ。 2016年9月26日閲覧。
- ^ 「Inside ImageTragick: The Real Payloads Being Used to Hack Websites」。CloudFlare。2016年。2016年10月1日時点のオリジナルよりアーカイブ。 2016年9月26日閲覧。
- ^ Williams, Chris (2016年5月4日). 「ImageMagickのサーバージャック攻撃はあまりにも簡単で、思わず叫びたくなる」The Register。 2017年12月23日時点のオリジナルよりアーカイブ。 2017年12月22日閲覧。
- ^ LLC、ImageMagick Studio。「PerlMagick、Perl API @ ImageMagick」。imagemagick.org 。 2017年5月10日時点のオリジナルよりアーカイブ。2017年5月22日閲覧。
- ^ “ImageMagick Changelog”. 2016年6月6日時点のオリジナルよりアーカイブ。2021年7月29日閲覧。
- ^ 「ImageMagick: Architecture」。2016年6月1日時点のオリジナルよりアーカイブ。2010年1月6日閲覧。
- ^ 「Magick++ API: Magick++ をインストールする」。imagemagick.org。2017年5月8日時点のオリジナルよりアーカイブ。2017年5月22日閲覧。
- ^ 「GraphicsMagick プロジェクトの紹介」。ImageMagick 開発者メーリング リスト。2003 年 3 月 15 日。
さらに読む
- モンタボーン、セバスチャン (2010)。デジタル画像処理入門: 写真家のための無料ツールの使用。Apress。ISBN 978-1-4302-2841-7。
外部リンク
- 公式サイト
- ImageMagick セキュリティ ポリシー – ImageMagick セキュリティ ポリシー – ベスト プラクティスでは、ローカル環境に適したセキュリティ ポリシーを構成することを強く推奨しています。
- IM の例 - CLI の使用例 - 幅広い機能を示す多くの小さな例を提供します
- Fred の ImageMagick スクリプト – ImageMagick を使用してより複雑なタスクを実行するための多数のシェル スクリプトを提供します。
- ImageMagick を使用して PDF 構造テストを自動化する方法 - ImageMagick の変換、比較、照合機能を紹介します。
