Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 一般的な Web アプリケーションがそうであるように、サイボウズのグループウェアにも画像をサムネイルで表示する機能があります。サイボウズでは日々数万件やそれ以上のサムネイルを生成しており、それらは全て ImageMagick によって生成されていました。 そこで得た知見はこちらの記事で公開されています。 blog.cybozu.io しかし現在、サイボウズから ImageMagick は消え去りました。その理由と、我々が取った代替手段について紹介します。 ImageMagick を外した理由 言うまでもなく ImageMagick は優秀なツールで、画像変換に関する何らかのサービスやツールを作る場合には採用の第一候補になることでしょう。あらゆる画像フォーマットに対応し、出力画像をきめ細かに制御できる膨大なオプシ
Photoshop等で実装されている「自然な彩度」強調機能と似たようなことをImageMagickでもできないかと思って検討してみた。 自然な彩度とは Adobe Photoshopの最近の版では、色を濃くしたり薄くしたりするための設定として、「彩度」と「自然な彩度」の二種類がある。Android標準の写真編集機能にもその二つがある。Adobeのページによると、"従来の「彩度」が適用範囲の彩度を均等に調整するのに対して、「自然な彩度」は彩度が高いカラーへの影響を抑えながら、彩度が低いすべてのカラーの彩度を調整します。" とのこと。 ソースが公開されているわけでもないので具体的なアルゴリズムは謎だが、自分なりに想像してみる。まず、「彩度」に関しては、HSL色空間のSチャンネル(Saturation=彩度)の値に係数を掛ける線形操作であろう。例えばパラメータ1.2(UI上は120とか?)で適用
Cactuslab provides this installer package to simplify the process of installing ImageMagick on Mac OS. The installer puts ImageMagick into /opt/ImageMagick and adds it to your PATH by creating an entry in /etc/paths.d/. These ImageMagick installers include the following delegates: bzlib fftw jng jpeg lcms lzma png ps tiff xml zlib, and now includes support for webp. The second installer requires X
梅雨がやってくる。気密性の高いマンションに暮らす筆者にとっては、折りにつけ窓を開けるなど風通しに配慮しなければならない面倒な季節だ。気温も上がってきたことだし、そろそろ愛機G4 Cubeの排熱対策に本腰を入れねば。 さて、今回は趣向を変えて「ImageMagick」について。コマンドで操作するという独特のインタフェースを持つグラフィックソフトだが、それゆえにバッチ処理を得意とするため、デジカメで撮影した大量の写真をWebページ掲載用に加工する、といった用途に最適。オープンソース系ではGIMPばかり注目が集まってしまい目立たないが、侮れない機能を持つ実力派なのだ。 OS XにImageMagickを導入する場合には、ソースコードをコンパイルする方法もあるが、Finkのパッケージを利用したほうがいいだろう。PNGやJPEGなどの画像ライブラリのほか、PostScript/EPSを扱うときにGh
■ 「カーネル・サンダースの自伝」をKindlizeする 「カーネル・サンダースの自伝」がすごく面白いらしいので、さっそくPDFをダウンロードしてみたら、見開きPDFだったという。しょうがない、いったん分解してからKindlizeしましょうか。 PDFを加工するのでなく、いったん画像化して、半分に割るという作戦にします。pdftoppmで抽出し、convertで右半分と左半分の画像(PNG)を生成: % pdftoppm -r 300 sanders.orig.pdf ./sanders % for f in *.ppm; do convert $f -chop 1500x0 `basename $f .ppm`.1.png convert $f -gravity SouthEast -chop 1500x0 `basename $f .ppm`.2.png done % for f in
マルチイメージファイルの中に1つのファイルを結合する。 マルチページをサポートしているformatのみ対応。
画像をWebサイトに掲載したり、メールで送ったりする際、できるだけファイルサイズを小さくしつつできるだけキレイな画質にする必要がある。高速回線が一般的となった現状では、以前ほどファイルサイズを気にすることもなくなったが、それでも100KBを超えるような画像をサイトに掲載するのはやや抵抗があるし、画像が複数あるサイトでは、ひとつの画像のファイルサイズはできるだけ小さくしておきたい。 細かな編集にはgimpを使うべきだが、細かいことはあまり気にせずにコマンド一発で画像を縮小する場合は、「ImageMagick」に含まれる「convert」や「mogrify」コマンドを使う。 コマンドラインで処理ですれば、GUIで作業するよりも格段に楽で早い上、複数のファイルも一発で処理できる。 「ImageMagick」は、その解説だけで1冊の本になるほど高機能かつ使いでのあるコマンドであり、「convert
Script-fu: 矩形選択範囲からImagemagick crop用のgeometry表現を得る メニューから 選択>geometry for Imagemagick crop を選ぶと次のスクリーンショットのように表示されます。 ※ちなみに Imagemagick そのものにも似たような機能はあるんですが、なんとなく自作してみました。 (define (anbt-geometry-for-im-crop:selection-bounds img) (let* ((bounds (gimp-selection-bounds img)) (x1 (nth 1 bounds)) (y1 (nth 2 bounds)) (x2 (nth 3 bounds)) (y2 (nth 4 bounds)) ) (list x1 y1 (- x2 x1) (- y2 y1)))) (define (a
ImageMagick - convert -gamma convert のオプション -gamma に渡す値と結果の画像です。 1 のとき変化なし(元画像と同じ)。
ImageMagick convert: -cloneオプションのメモ convert の簡単な使い方はこうですね。 この場合「Red.png」が入力、「out.png」が出力として扱われます。 $ convert Red.png out.png ではこうするとどうか。 $ convert Red.png Green.png out.png これを実行すると out-0.png と out-1.png という2つのファイルが生成され、 それぞれ Red.png、Green.png と同じものになります。 つまり、この場合は前の2つのファイルを入力画像として扱い、 最後の「out.png」という指定を元に自動で連番の付いたファイルを出力する、 という挙動をします。 ・・・というのが前置きで、ここから -clone(+clone) の使い方です。 $ convert Red.png +clon
スキャンした書籍や書類の余白をImageMagickで除去する -trim, -fuzz そういう都合のいいオプションはないものかと調べてみると、 -trim というのが見つかりました。 convert -trim a.png a-out.png a.png a-out.png ただし、 -trim オプションは「角のピクセルと同じ色」を除去するようで、 紙の色ムラ・染みなどノイズが混じっていると上手く除去できません。 convert -trim b.png b-out.png b.png b-out.png convert -trim c.png c-out.png c.png c-out.png そこらへんも適当にうまいことやってくれよーと思うわけですが、 なんと大変都合の良いことに -fuzz というオプションがあるんですね。 -trim に添えて -fuzz 50% などと指定して
ImageMagickの基本的な使い方 ここでは、衛星画像を題材にして、ImageMagickの基本的な使い方を説明しています。 Windowsで演習する場合には、前提として、Cygwin、ImageMagickの インストールが済み、PATHも設定してあるものとします。 ちなみに、LinuxではImageMagickの各コマンドがインストールさ れていることが多いので、Linux環境の人はすぐに下記の演習内容を試すことが できるはずです。 ImageMagickの中でも、 convert composite を使用します。特に、convertはよく使用しますので、使い こなせるようになってください。 この演習で処理した画像例は、 このページの末尾に掲載されていますので、 参照してください。 画像の保存 まずは、以下の演習で使用する画像(JPEG画像:バンド1〜7)を保存しよう。 [バンド
Rubyで画像を扱う必要があったので、MacのHomebrewでImageMagickをインストールして、それからRMagickをインストールした。 ImageMagickのインストール まず、ImageMagickをインストールする。Homebrewからインストールした場合のImageMagickは64bit版になるらしく、MAMP版のPHPで使う場合に問題になるみたいだけど、Rubyの場合はどうなのかよくわからないので、とりあえずHomebrewからインストールしてみる。MacPortsはアンインストールしちゃったしね。 $ brew install imagemagick 依存パッケージも色々インストールされるみたいで、結構時間掛かる。最後に表示されるのSummaryだと5.7分って書かれてた。これってインストールを開始してから終了するまでの時間でいいのかな? 感覚的にはもっと長い時
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く