source技術文書一覧PerlとImageMagickを使ってモザイク画像を作る単純なPerlスクリプトを使って、画像操作やテキスト作成、モザイク画像の合成などを自動化しましょう。Gimpなどの使い方を学びながら、静止表示や動的コンテンツに適した、独自のモザイク画像を作ります。ImageMagickやオープンソースのグラフィカル編集ツールの機能についても解説します。リソース特定技術に従事しています。必要なシステムモザイク・タイル画像テキスト・オーバーレイ・モザイク画像オーバーレイ・モザイク謝辞まとめダウンロード参考文献コメントモザイク画像は視覚的に訴える力があることや、技術的に進んだ印象を与えるため、今日の印刷メディアやビデオ・メディアで、よく使用されています。この記事では、テキストやグラフィック・コンテンツを使って、皆さん独自の、単純なモザイク画像を作るための方法を説明します。この記事で解説する手法は、静的な、あるいは動的なコンテンツ作成に応用することができます。一例としてIBMの従業員は、この記事の元となっているツールを使って、自分たちの上司の名前を、その上司の下で働く従業員のモザイク画像で構成することができるのです。そのためにはPerlを使って画像にアクセスし、またその画像を「タイル状」のモザイクに修正した後、Perlスクリプトの中にあるGDモジュールを使って画像を処理します。GDは、Perlの中でテキスト・オーバーレイを作るためにも使われています。最終的な結果を合成するためには、ImageMagickツール・スイートを使います。penguin)」に少し手を加え、Linuxテーマのモザイク画像を作ります。必要なシステムハードウェア画像の操作や合成処理は、メモリーやCPUへの負荷が非常に高い作業です。MBのRAMを積んでいます。MBのRAMを推奨します(作成する画像ファイルのサイズは約6メガピクセルです)。Gimp、そしてImageMagickが必要です。これらはどれも、ほとんどのLinuxディストリビューションで、デフォルトでインストールされています。これらのツールを見つけるための情報については、参考文献を見てください。『feh』は、画像を見るための素晴らしいプログラムであり、モザイク・タイルの処理に大いに役立ちます。上に戻るモザイク・タイル画像画像の取得IBMの内部リソースには、従業員の写真のリポジトリーがあり、各自の業務責任とリンクされています。私はこの業務責任フィールドを検索し、developerWorksに責任を持つ従業員すべての写真を取り出しました。Webからの画像を使ってライブラリーを構成するための素晴らしいツールは数多くありますが、これらの中にはモザイク画像作成に適したものも幾つもあります。この記事用のソースコード・パッケージの中には、幾つかの画像も入れておきました(ダウンロードのセクションを見てください)。タイルの処理画像のソースが何であれ、ほとんどの場合はモザイクに使用するために何らかの処理が必要です。私が手にした一連の写真はサイズが様々であり、またモザイクに使用するには望ましくない、「デフォルト」画像から構成されているものもありました。必要のない画像は、fehビューアーを使って削除します。いうコマンドを使います。各画像がサムネイル状で得られ、また各画像の下にファイル名が付けられます。使って、必要のない画像を削除します。これによって、フルスクリーン・モードで各画像を順次見られるようになります。%f"」オプションによって、その画像が削除されます。この例では、青と白のデフォルト画像はすべて削除しています。これで必要な画像だけが集まったので、すべての画像が同じサイズになるようにします。25のピクセルが適当です。このサイズであれば、内容を確認するには充分な大きさであり、最終的な画像の視覚要素として使うには充分に小さいのです。使うと、すべての画像を同じサイズにすることができます。25に制限する一方、縦横比は同じに保つことに注意してください。上に戻るテキスト・オーバーレイ・モザイクモザイク用のテキスト内容としては、「developerWorks」を使います。白いテキストを持った透明画像を作成する必要があります(このテキストの中に、後でタイルを合成します)。これは、以下の手順で行います。overlaysというディレクトリーを作成します。次のコードを使って、build_text_overlay.plというファイルを作成します。command添付されているVeraMoBd.ttfファイルを作業ディレクトリーにダウンロードします。developerWorksを実行します。overlays/done_developerWorks.pngを使ってチェックします。これでオーバーレイ・テキストが作成されたので、同じサイズを持つタイル状の背景画像を作成し、次にこの2つを合成します。backgroundsディレクトリーを作成します。overlays/done_developerWorks.pngというコマンドで決定します。600であることが分かると思います。次のコードを使って、build_background.plというファイルを作成します。$image-&gt;png;close(TILEOUT);「identify」コマンドで決まった大きさを使って、build_background.plスクリプトを実行します。backgrounds/back_developerWorks.pngというコマンドを使って、背景画像を確認します。これで、背景用のタイル画像と、透明な背景オーバーレイを持つ白いテキストができたので、2つを合成する準備が整いました。compositeディレクトリーを作成し、ImageMagickのcompositeコマンドを使って、両者を重ね合わせます(下記)。inオプションはImageMagickに対して、オーバーレイの白レイヤーを実質的に『パススルー』レイヤーとして扱うように伝えています。これによって、タイル状のモザイクで塗りつぶされた白いテキストを持った、透明な背景が作られます。今度は、白い背景を適用します。Explorerなど)は、背景が透明な場合には、背景を白ではなく黒として表示するため、このステップが必要となります。overオプションはImageMagickに対して、2番目の画像の上に最初の画像をオーバーレイするように伝えています。これで最終的な作品ができあがります。composite/complete_developerWorks.pngをタイプします。小さなモザイクのバージョンを作るには、次のようにconvertを使います。developerWorksテキスト・オーバーレイ(「e」は詳細を示すために拡大されています)これで終わりです。テキスト・オーバーレイが完成しました。同じ手順を使って、皆さんの好きなテキストでテキスト・オーバーレイを作ることができます。別の画像をプラグインすることもできます。皆さんの持っている既存のグラフィック・コンテンツにモザイクを追加することもでき、あるいは、大型のプリンターで画像を印刷することができます。背景の画像生成コードを変更して、各タイルの正確な座標を記録するように変更することも、容易にできます。この情報を使うと、ユーザーの画像がモザイクのどこにあるかを示す動的なアプリケーションを作成することができます。この先では、グラフィックスとモザイクとを統合する方法について説明します。上に戻る画像オーバーレイ・モザイクテキスト・オーバーレイは作成できたので、今度はグラフィカルなオーバーレイを作りましょう。この記事では、Linuxのマスコットであるペンギン、タックスの画像を使います。タックスは法律的な面で扱いが手軽な上に、体の大部分も目も単純な白なので、非常に使いやすいのです。モザイク作成に使える色は白のみ、と言うわけではありませんが、統合ステップは簡単になります。テキスト・オーバーレイの例を思い出してください(皆さんの職場や組織のための自動ポスターとして使えるかも知れません)。-inコマンドを使ってオーバーレイしました(やれやれ!)。同じプロセスを、画像の例にも当てはめることができます。最後に1つのステップを追加すればよいのです。今度は、(1つではなく)2つのマスクを作る必要があります。タックスの画像を入手します。2,796)があります(ダウンロードのセクションを見てください)。Gimpから開き、余分な白の背景からタックスを分離します。selectツールを使って、タックスの外側の白い部分の上でクリックします。選択を反転し、選択されたものを新しいファイルとしてカット・アンド・ペーストします。このファイルをtransparent.tux.pngとして保存します。これが、最終画像に対するデフォルトのキャンバス・サイズとなります。transparent.tux.pngから始め、タックスの外側を作成します。selectツールを選択し、タックスの腹の白い部分の上でクリックしてから、Ctrl+Xで削除します。同じことを、目の中の白い部分に対して行い、ファイルをepi.overlay.tux.pngとして保存します。colorツールを使って、タックスの腹の上でクリックします。これによって、腹と目の中の白い部分がすべて選択されます。Ctrl+Iを使って選択を反転し、Ctrl+Xを使って、腹と目の白い部分以外をすべて削除します。これをint.overlay.tux.pngとして保存します。タックスの内側これで、タックスの「白い部分のみ(腹と目)」ができました。これが画像フレームの中心に置かれています。これは、先ほどテキスト・オーバーレイの例で作成した、透明背景上の白いテキストと等価です。今度は、タックスのフレームと同じサイズのタイル画像を作る必要があります。transparent.tux.pngというコマンドで決定します。2,741であることが分かります。次に、下記のようにしてコンポーネント合成を行います。step1.pngこれで、腹と目が、モザイク状のタイルで塗りつぶされます。次に2番目のマスクを適用します。overオプションはImageMagickに対して、2番目の画像の上に最初の画像を重ね合わせるように伝えています。これで最終的な作品ができあがります。composite/complete_tux.pngをタイプします。小さいモザイクを作成するには、convertを使います。利用させていただきました。上に戻るまとめここで示した仕組みとサンプル・モザイクを利用すると、非常に様々なグラフィックスを構成することができます。ImageMagickとPerlの機能を組み合わせることによって、フェード(fade)の割合を変えてみたり、色の選択を変更してみたり、あるいはその他にも素晴らしいことができますので、皆さんもぜひ試してみるようにお勧めします。この仕組みと、オープンソースのMPEGソフトウェアとを組み合わせることによって、ビデオから幾つかのフレームを抽出してから再構成し、それぞれのフレームにマスクを適用することができます。-cropオプションを使うと、ズームイン効果を作り出すことができ、そこから小さなムービーを作ることができます。した形式の単純なモザイク・ムービーは手軽に作ることができ、それを使えば効果的なプレゼンテーションを行うことができます。ImageMagickについて学んでください。Boutell.comを見て、GDとは何か、またそのAPIについて学んでください。サンプル・コードを入手することもできます。包括的なPerlアーカイブ・ネットワークであるCPANには、GD.pmを含め、他にも様々なPerlモジュールがあります。webcastsを利用して、最新技術を学んでください。sourceゾーンをご覧ください。オープンソース技術を使った開発や、IBM製品でオープンソース技術を使用するためのハウ・ツー情報やツール、プロジェクトの更新情報など、豊富な情報が用意されています。Gilbertによる画像ビューアー、fehをダウンロードしてください。Gimpを入手してください。V6.0の無料試用版をダウンロードしてください。softwareを使って構築してください。developerWorksから直接ダウンロードすることができます。softwareを使って革新してください。developerWorksからダウンロードで、あるいはDVDで入手することができます。KernelNewbies.orgにはFAQやIRCチャネル、メーリングリストなどが用意されており、最近カーネルをいじり始めた人達のためのリソースとして好適です。blogsに参加して、developerWorksコミュニティーに加わってください。サイン・イン必須フィールドは(*)で示されます。サインインしたままにしてください。ご使用条件に同意したことになります。サインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。送信されたすべての情報は安全です。サインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。投稿するコンテンツと一緒に表示されます。コミュニティーでユニークである必要があります。プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。必須フィールドは(*)で示されます。ご使用条件に同意したことになります。送信されたすべての情報は安全です。(Brasil)Español。