Exif Orientation 情報を追加する方法と編集する方法。 Orintation 情報の形式 Orientation は、Exif 2.3 規格において、 1〜8 の数字で規定されている。 http://www.cipa.jp/hyoujunka/kikaku/pdf/DC-008-2010_J.pdf (P.34) http://www.cipa.jp/english/hyoujunka/kikaku/pdf/DC-008-2012_E.pdf (P.35) いろんなアプリで数字だったり、文字列だったりとバラバラなので混乱しやすい。 以下、早見表。exiftool の value の通りに動かすと、元の画像に戻る。 Exif定義 = exiftoolのvalue = Image Magickのvalue ---- 1 = Horizontal (normal) = top-le
こんにちは、成田(@mirakui)です。今日はみんな大好き ImageMagick チューニングのお話です。 2016/5/13 に公開された、いわゆる ImageTragick と呼ばれる脆弱性では、 policy.xml というファイルを更新するという workaround が紹介されていたのは記憶に新しいと思います。 この policy.xml は、今回の workaround のようにファイルタイプを制限するだけではなく、画像の縦横ピクセル数、利用するメモリやディスクのサイズなどを制限することができます。 Web サービスなどでユーザのアップロードした画像を ImageMagick で変換する場合、このようなリソース制限を適切に行うべきでしょう。 そこで今回は policy.xml によるリソース制限方法を紹介します。 前提 特に明記しない限り、2016/05/14 現在の 6
こんにちわ、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。好きなみかんは紅マドンナです。 今回は、サイボウズのサムネイル事情について記事を書きたいと思います。サイボウズに限らず通常の Web アプリケーションでもサムネイル作成はよくあると思いますが、ハマりどころが多く涙しているサムネイリストも多いかと思います。これからの時代を生きるサムネイリストが快適なサムネイルライフを送れるよう、知見を共有したいと思います。 弊社では画像変換ツールに ImageMagick を用いており、従って本知見は ImageMagick 固有のものがほとんどです。 画像比較は人間の眼で行うべし サムネイル周りに何か修正を入れたら修正前後の画像を比較しましょう。機械によるバイト列の比較では画像の良し悪しがわかりません。頼れるのは人間の眼だけです。肉眼で確認しましょう。 比較できるツールを作ると良
でもauto_orientをやったときって、Exif情報もちゃんと変更されるんですかね? Exif情報がそのままの状態で画像が回転してしまっているといったビミョーな状態にはちゃんとならないようになっているのでしょうか? ちょっと見てみましょう。 auto_orientの中身はimagemagickの-auto-orientオプション auto_orientでやっている内容といえば、中身はImageMagickの-auto-orientオプションなので、実際にImageMagickでこのオプションをつけて変換してやれば良いことになります。 対象のファイル こんなExif情報を持つ、Exif情報を加味して画像表示すると、180度回転して表示される画像で試してみます。 (こちらで使っているExifToolの使い方はこちらをご覧ください:テスト用にEXIF情報を加工するときに知っておきたいExif
アニメーションGIFファイルのサムネイル画像(縮小画像)を作る処理をPHPで書こうとしたが、これがかなり面倒くさい。結果、コマンドラインからImageMagickのconvertコマンドを叩くことにした。 コマンド一発でアニメーションを保持しつつ縮小!すばらし〜♪ そんときに調べたことをメモ。 アニメーションGIFのファイル(source.gif)を縦横50%縮小し、output.gif として出力。 convert source.gif -coalesce -scale 50% -deconstruct output.gif アニメーションGIFのファイル(source.gif)を縦横250pxに収まるようにし、output.gif として出力。 convert source.gif -coalesce -resize 250x250 -deconstruct output.gif アニ
こんにちは。広告事業部の上田です。 今はおもに新広告商品の開発をしていますが、少し前までプロのレシピを開発していました。 そのときの話を少し書きます。 プロのレシピは雑誌や料理本、料理研究家のレシピが見放題、横断検索もできるサービスです。 2014年9月にリリースしました。 インターネットで公開されているレシピだけではなく、雑誌や本にしかないレシピもたくさん含んでいます。 開発中、これらの大量のレシピをどうプロのレシピにインポートするかが問題の一つとなっていました。 データは出版社から、基本的にInDesignの形式で受け取りました。 テキストはPDFに変換してコピー&ペーストして手で修正という力技で対処しましたが、画像はEPSファイルをウェブ用に変換しなければいけません。 印刷用の画像なのでカラーモデルはCMYKです。 普通にJPEGに変換しただけだと『IE8以下では見られない』『Chr
クックパッド 広告事業部の大野晋一です。責任範囲は広告事業の純広告およびネットワーク広告の商品開発担当で、事業部にはそれぞれの売上でコミットしています。 この記事では、動画変換の仕組みにおけるDockerの活用について紹介します。 クックパッドは8月8日、iOS/Androidのブラウザにおいて動画クリエイティブを掲出する広告商品を公開しました。広告商品としての詳細はプレスリリースやスライドを見ていただくのがわかりやすいのですが、本稿に関係する特徴としてスマートフォンのブラウザで自動的に再生が開始されるというものがあります。 スマートフォンのブラウザにおいては、現在のところ、動画を自動再生させることは出来ません。これはAppleやGoogleといったブラウザベンダが課している制約です。そこで、クックパッドでは、janiというライブラリを使い、特定の規則に基づいて作られた画像を、JavaSc
Index of /archive NameLast modifiedSizeDescription Parent Directory - ImageMagick-6.9.13-25.7z 2025-03-29 14:17 9.2M ImageMagick-6.9.13-25.7z.asc 2025-03-29 14:22 833 ImageMagick-6.9.13-25.tar.bz2 2025-03-29 14:08 11M ImageMagick-6.9.13-25.tar.bz2.asc 2025-03-29 14:22 833 ImageMagick-6.9.13-25.tar.gz 2025-03-29 13:59 14M ImageMagick-6.9.13-25.tar.gz.asc 2025-03-29 14:22 833 ImageMagick-6.9.13-25
念のためImageMagickも再コンパイル&インストール。 ついでにOpenMPとXを無効にしときます。 ./configure --disable-openmp --without-x そしてPerlスクリプトを実行! ・・・今度は別のエラーが! Can't load '/home/hoge/perl5/perlbrew/perls/perl-5.16.1/lib/site_perl/5.16.1/x86_64-linux/auto/Image/Magick/Magick.so' for module Image::Magick: libpng15.so.15: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません at /home/hoge/perl5/perlbrew/perls/perl-5.16.1/lib/5.16.1/x86_64-linux
ユーザーランドにYoyaMagickをいれて、plenvでいれた最新版のPerlにそのYoyaMagickのImage::Magick(PerlMagick)を入れて、アニメーションGifをリサイズしたりのサンプルを動かすまでの手順を紹介します。 あまり難しいテストはしていないので、完全に動作しているかはわかりませんが、 @yoyapp ありがとうございます!実際の所yoyaMagickは全く悪くありません。僕のスキルがダメなのでImage::Magick系を野良でbuildするとハマリそうなので(ハッカソンの最中だったので)逃げただけです…。— uzulla (@uzulla) 2013年6月18日 @yoyapp ちゃんとまとめて、近いうちブログにでもかかせていただきます〜〜。— uzulla (@uzulla) 2013年6月18日 とかいてしまったからには、やった手順くらいはブログ
Image::Magickは汎用的な画像処理を行えるという利点があるが、速度的にはあまり早くない。 たとえば大量にアップされる一眼レフなどで撮影した大きなサイズのJPEGからサムネイルを生成するというような状況においては、処理速度がボトルネックになってしまうという問題がある。 ところが、どうやらインスタンス生成時にsizeオプションを指定するだけで処理速度が劇的に向上するらしい、ということを同期のエンジニアrai氏から聞いたので試してみた。 ■ ベンチマーク内容 元画像 : http://photozou.jp/photo/show/228995/18479223 (元画像4272x2848を使用、カメラ小僧Gさんの画像をお借りします) 生成画像: 横160pxに固定し、アスペクト比を維持 サムネイル50枚の生成時間を比較する。 ■ 検証コード #!/usr/bin/perl use st
display 画像ビューワであり,かつImageMagickをGUIで操作します.なお起動コマンドはdisplayです.imagemagick等ではありません. 以下はImageMagick V5.2.5 on Debian/GNU Linux potatoでのものです. import 任意のX Windowのスクリーンショットを撮ります.import コマンドを実行すると、マウスカーソルが + マークに代わり、スクリーンショットを 撮りたいウィンドウをクリックするとビープ音が鳴り, output fileが作成されます. import [ options ... ] <output file> 以下は指定可能なオプションです. ・ -frame ウィンドウマネージャのフレーム等を含めたイメージを作成. ・ -monochrome 白黒画像を作成. ・ -window
Githubで画像の差分を見られるモードが話題を呼びましたが、このように2枚の画像の差分を調べたいときって時々ありますよね。 そんなときImageMagickのコマンドラインツールを使えば、たった1行で実現できます。 $ composite -compose difference A.jpg B.jpg diff.jpg とすれば、A.jpg と B.jpg の差分画像 diff.jpg が作られます。この差分画像は以下のようになります。 さらにこの差分画像(diff.jpg)が「真っ黒な画像」かどうかも、コマンドラインで調べることができます。 # 差分がなかった場合(=diff.jpgは黒一色の画像) $ identify -format "%[mean]" diff.jpg 0 # 差分があった場合 $ identify -format "%[mean]" diff.jpg 960.8
こんにちは。クライアント基盤チームのよやです。 減色処理の話の続きで、ImageMagick の改造についてお話します。 前回 > ImageMagick 改造入門 (その弐) 減色処理前編 ImageMagick 減色処理の3つのフェーズのうち2つ目にあたる「RGB 空間で分割された立方体の統合処理」で特に時間がかかっていたので、少し手を加えて高速化しました。 前回のこの図に相当する処理です。 ImageMagick の既存の処理 前回、説明した「RGB 空間で分割された立方体の統合処理」のより細かい解説です。 統合処理の詳細 既存の ImageMagick の減色処理では、quantize_error の小さい順にRGB色空間内の立方体を削除して、それらのひとつ親の立方体に統合する処理を繰り返します。 対応コード (magick/quantize.c) 望みの色数になるまで繰り返す (
こんにちは。クライアント基盤チームのよやです。 アバター等を表示する為に PNG や JPEG の画像を元に GIF アニメーションを生成する事がよくありますが、GIF は 256色までしか扱えない為、元画像が数万といった単位で色を使っていると減色処理に大変時間がかかります。そこで、ImageMagick の減色処理を改造して高速化した事例をご紹介します。 尚、一度に読む分量ではまとめ切れない為、前編と後編に分けました。前編は減色処理、後編はその改造について説明します。 プログラム構成では上の図の magick/quantize.c が減色処理に相当します。 まず、減色処理の一般的な話から始めます。 減色の利点 Web で見かける画像ファイルの多くは、1つのpixel(描画の最小単位)に対して、Red, Green, Blue が各々8bits で計 24bits(= 3bytes) 、透
こんにちは。ミドルウェア開発チームのよやです。 今回は、ImageMagick についてお話します。 http://www.imagemagick.org/ ImageMagick は高機能で大変便利な画像処理ツールです。弊社でも利用させて頂いていますが、稀に実サービスにそのまま適用出来ないケースがあります。 そこで、困った時に ImageMagick 自体を改造する際のポイントと、実際の応用例をご紹介します。 ImageMagick のプログラム構造 ImageMagick のプログラムは主に以下のディレクトリに分かれます。(Magick+ ディレクトリ等幾つかは割愛します) utilities/<コマンド名>.c コマンドラインツールの起点(main 関数) wand/〜.c (コマンド共通処理とコマンド毎の処理、Wand API) magick/〜.c (機能モジュール、ユーティリテ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く