画像ファイルの活用と各種加工

画像のデ−タ形式

グラフィックス(画像)を表現するデ−タファイルの表現形式を「画像フォ−マット」と呼び,その種類は利用する計算機の機種やOSやアプリケ−ションソフトウェア毎に非常に様々なものが使われている.例えば,LibreOffice Drawでは,PNG形式など各種の画像フォーマット形式やPortable Document Fotmat形式(PDF形式)でも,図版データを保存することができる.PNG形式はWWWペ−ジ作成によく用いられ,PDF形式は印刷を主目的としてMac<->Windows間など異機種で文書交換に良く用いられる形式である.

特にPNG形式は各種の色を持った点(画素,ピクセル)が矩形(長方形)状に集まって絵を構成しているが,このように点の集りとして表現されるグラフィックスをラスタ−(raster)・グラフィックスと呼ぶ.それに対して,LibreOffice Draw本来の扱いである四角や丸など各図形を形や大きさで表現しているものをベクトル・グラフィックス又はアウトライン・グラフィックスと呼ぶ.Drawが作り出すPDF形式は通常はアウトライン・グラフィックスとなっている.

画像ファイル形式を音楽で例えよう.同じように聞こえる音楽であってもCDやLPやMDやカセットテ−プなど色々な記録方式が存在し,これらの間で音楽の交換をしたいと仮定する.この場合,例えばCDからMDにダビングするように音声情報を別の記録方式に録音し直さなければ,お互いの記録方式の間で音楽を交換することができない.この音声記録方式に相当するものが画像デ−タの場合にも存在しており,同じように表示される画像であっても様々な異なる記録表現方式がある.

画像フォ−マットには歴史的に様々な方式が存在しており,それらの間には直接には互換性がないことが殆どである.従って,同じ内容画像を異なるフォーマットで利用したければ,音楽のダビングに相当する「フォーマット変換」と呼ばれる作業が必要となる.

画像フォ−マットの代表的なものとしては次のようなものがある.WWWでイラストなどを表示させるのによく用いられるGIF形式(最近,UNISYSというコンピュータメーカが特許権を主張する事態が起きたため,GIF形式を扱えるソフトウェアの開発が自由にできなくなっていたが,この特許は2004年に全世界で期限切れとなり,今では自由に利用できる.),風景写真などの自然画像を表示するのに適したJPEG,最近,WWWでGIFの代わりに使われ始めているPNG(Portable Network Graphic),Windows系OSで一般的なBMP,Macintoshで標準的なPICT,出版印刷業務関連でよく使われるTIFF,プリンタへの印刷出力に使われるPostScript (PS)形式,などなど.

また,各画像を表現する色合いがフルカラ−かモノクロか,あるいは白黒二色なのかといった違いもある.一般にJPEG形式はフルカラ−であるが,GIF画像は一つの画像を表現する色が最大256色に制限されるので色再現性は劣ることになる(実際は,利用する計算機のモニタ画面の発色特性に大きく影響されるので,画面上の画像の正確な色調を肉眼で識別するのは難しいことがある).

LibreOffice Drawによるラスター画像出力

以前に練習課題として作成した電気回路図を用いて,これに若干の修正を加える.

電気回路図をDrawで開き,図版サイズを「B5(JIS)サイズ横配置」になるように,「書式」メニューから「ページ」を選択して表示されるダイアログで調整する.ちなみに,B版サイズ用紙には歴史的理由からISO国際標準サイズとJIS日本標準サイズの二種があり微妙に大きさが違っている.その違いが「書式」メニューのB5(ISO)とB5(JIS)の違いである.日本国内で入手できる用紙は,通常,JISサイズであろう.尚,歴史的経緯の詳細は,こちらのページを参照せよ.

このサイズの状態で,電気回路が紙面中央に位置するように回路の配置を調整してから,一旦,保存せよ.

続いて,この回路図を別のPNG形式画像ファイルとして保存する.その要領は,「ファイル」メニューから「エクスポート」を選択し,表示されるダイアログから保存形式として PNG - Portable Network Graphic を選択する.ファイル名はcircuit.pngとしよう(但し,拡張子.pngが適切に付けられているかどうか,良く確認すること).

これは「簡略版保存ダイアログ表示」なので,「名前」の右側の▼をクリックして「詳細表示」に切り替えよう.

保存すべきファイル名とディレクトリを確認した後,保存ボタンをクリックすると次のようなオプションダイアログが表示される.

これは,PNG形式で保存する際の処理に必要なパラメータ(圧縮率など)与えるもので,通常の場合,そのままOKボタンをクリックすれば良い.これでPNG形式ファイルが新しく作られるはずである.

PNGファイルとして保存できたら,それをプレビュー.appで画面表示してみよう.プレビュー.appはMacOS Xに標準で付属している画像ファイル表示ツールである.通常,Finder上で画像ファイルのアイコンをダブルクリックして開くとプレピュー.appが自動的に起動する.

ここで先ほど作成した電気回路図は,妙に余白が大きく取られていることに気がつくだろう.LibreOfficeで画像ファイルへエクスポートすると,標準ではページスタイルに指定された用紙サイズ相当の画像データが作成されてしまう.これでは,少々間延びして見えてしまうので,もっと回路にジャストフィットしたイメージを作成し直そう.

作成した図版ギリギリにジャストフィットした画像をエクスポートするには,Draw上でエクスポートしたい図形を全て選択する.今回の場合,全ての抵抗素子を含めるので,編集メニューから「全てを選択」を選べば良い.

このように必要なオブジェクト図形を選択した状態で,ファイルメニューから「エクスポート」を選ぶ.

この時,チェックボックス「選択範囲」にチェックを入れるようにしよう.このチェックマークが入った状態保存すると,選択された図形がギリギリに収められた画像ファイルとしてグラフィックスデータをエクスポートできる.ここでは circuit2.pngという名前のPNGファイルで保存してみよう.

保存できたら,同様にプレビュー.appで画面表示して確認してみよう.次のように表示されるはずだ.

作成したPNG画像がジャストフィットしている事が確認できたら,「拡大」ボタンをクリックして,虫眼鏡のようにどんどん大きく拡大表示してみよう.

さて,画像はどのように見えただろうか?

上記の表示結果から,PNG等のラスタ−・グラフィックスは画素(ピクセル, pixel)の集りとして表現されているため,拡大/縮小などの表示サイズ変更によって表示画質が悪くなる可能性があることが分かる.

プレピューを用いた画像ファイルの簡単加工とフォーマット変換

プレビュー (プレビュー.app)は,単に画像ファイルを画面表示するばかりでなく,簡単な切り取り加工やフォーマット変換も行える.まず,こちらのリスのJPEG形式画像をブラウザで表示して各自の作業ディレクトリに保存せよ.保存できたら,これをプレビューで開いてみよう.プレビューはMacOS X標準の画像ビューアソフトウエアとなっているので,単にダブルクリックして開くだけで次のように表示されるだろう.

ウィンドウ右隅をドラッグして少しウィンドウの幅を広げてみる.そのまま広げるとウィンドウサイズに合わせて画像が拡大表示されてしまうので,ここでは「表示」メニューから「実際のサイズ」を選択して拡大しない「等倍表示」にしておこう.

プレビュー.app標準のツールバーが全て表示されるだろう.

加工例として,この画像中のリスの部分だけを切り抜いてみよう.ウィンドウ上部のボタンをクリックすると「編集ツールバー」が表示される.

ツールバー上の「選択」ツールから「長方形で選択」を選び,切り抜きたい部分をドラッグして選択する.

ここではリスの体が写っている部分だけを選択してみる.選択された範囲は四隅のハンドルをドラッグすれば大きさや位置を再調整できる.

適切な範囲が選択できたら,「ツール」メニューから「切り取り」を選択すると画像が切り抜かれる.

尚,ツールバーの「縮小/拡大」ボタンをクリックすれば拡大・縮小表示する事ができ,ツールメニューの各項目を選択すれば画像を回転させたり上下左右を反転させたりことも出来る.

さて,画像の必要な部分を切り抜く事が出来たら,これを元ファイルとは異なる画像フォーマットで保存してみよう.ファイルメニューから「書き出す」を選択すると,元ファイルとは別に加工済みのファイルが新たに保存される.

保存ダイアログが表示されるが,保存場所を確認しやすいように▼ボタンをクリックすると,上記のように表示し直される.この画面でプレビューがサポートする保存画像フォーマットが選択できる.ここでは「フォーマット」メニューからPNGを選択してsquirrel.pngというファイル名を指示して保存してみよう.

別フォーマットの別ファイルに保存が出来たら,元のウィンドウを閉じよう.

Mountain Lion付属のプレビュー.appを使用した場合の注意

ここで,プレビュー.appにて作業したウィンドウを閉じるときに次のような表示が出るだろう.

これの意味するところは,「元の画像に編集作業を加えた状態になっているが,その元ファイルに対して,この作業内容を反映して上書き保存するのか,或いは,作業内容は捨てて元のファイルは触らずそのままとするのか」という点の確認を求めている.(分かりにくい日本語だ....)つまり,OKをクリックすると元の画像ファイルは作業後の状態で保存され,「戻す」をクリックすると画像ファイルは元のまま変更なく維持される.

このような表示が出るのはNetBoot環境においてだけである.ローカルブートしている状態では,このような表示は出ないで「自動保存」されてウィンドウが閉じられる.ローカルブートであればHFS+ファイルシステムの持つ機能により,「バージョン履歴」機能により,自動保存されてしまっても「以前のバージョンに戻す」機能が有効となっている.つまり,NetBoot環境とは同じ操作でも挙動が違うので気をつけて欲しい.

ここでは,「戻す」をクリックして元画像はそのまま残しておこう.

尚,「今後このメッセージを表示しない」にチェックを入れた上でOKボタンをクリックしてしまうと,その後は,編集作業を加えた画像ウィンドウを閉じると問答無用で「作業後状態で保存」されるようになるから気をつけよう.

さて,リスだけを切り抜いたPNG画像が上手く保存できたら,そのPNG形式ファイルを改めてプレビューで開いて作業内容が適切に保存されているかどうか確認しておこう.

注釈の書き込み

プレビューには注釈(書き込み)を画像に加える機能が備わっている.先ほど用いたリスのJPEG形式画像を再度同じように開いてみよう.

ここで,注釈として矢印を書き込んでみる.作業しやすいように画像を少し拡大表示してから,「編集ツールバー」ボタンをクリックするとその下に画像に注釈を加えるための各種ツール類が表示される.

ここで「矢印」を書き加えてみよう.ツール上の矢印ツールを選択して,

ウィンドウ上でドラッグ操作すると矢印をオブジェクト図形として書き込む事が出来る.

注釈として書き加えることが出来るのは,矢印以外に楕円や矩形がある.各注釈図形は線の太さや色を変更できる.

これらの注釈は画像を保存するまでは,それぞれ修正や削除を加える事が出来る.(但し,一旦,画像を保存したら,その後は修正できない.)

また,注釈としてテキスト(文字)も使える.注釈ツールのテキストメニューからテキストを選択し,

ウィンドウ上をドラッグするとテキスト枠が作成されるので,注釈として加えたい文字をキーボードから入力する.

また,文字の書体やサイズを変更したければ,注釈ツールからボタンをクリックして「フォントパネル」を表示させる.

書体を変えたい箇所を選択してから,このフォントパネル上にて,希望の書体やサイズやスタイル(アンダーラインなど)を選択すればよい.

さらに,注釈の色は標準で赤だが,色を変えたい注釈をクリックしてハンドルが表示された状態にしてから注釈ツール上のメニューで変更できる.

さらに微妙な色合いを特に指定したい場合,カラー選択メニューから「その他」を選択すると,次のような「カラーピッカー」が表示されるので,

このウィンドウ上で希望の色合いを指定する(但し,本当の意味で「希望の色合い」を指定するのは意外に難しいが....).

さて,例題としてリスの「目の部分」を説明する注釈を加えてみよう.

注釈機能の詳細は,プレビューの「ヘルプ」を参照して欲しい.

SnapNDragによるスクリーンショット撮影

本演習のWeb資料には,多くの画面表示画像(スクリーンショット)が用いられているが,これはどのようにすれば撮影できるのだろうか? MacOS Xには標準でグラブ.app(アプリケーション -> ユーティリティのフォルダにある)というツールがついているが,微妙に使い難いのでSnapNDragというツールをお勧めする.(補足: MacOS X Snow Leopard以降では,プレビュー.appでもスクリーンショットが撮影できるようになった.)

ここでは,例としてSafariが本学ホームページを表示している状態のウィンドウを撮影してみよう.アプリケーションフォルダにあるSnapNDrag.appアイコンを開いて起動すると,次のようなウィンドウが表示される.SnapNDragの操作は,このウィンドウだけで全て行える.

ここで,SnapNDragが保存するスクリーンショットの画像フォーマットは標準ではJPEGだが,JPEGは風景写真のような自然画像を圧縮して保存することを目的として設計されており,コンピュータ画面のような人工的に合成された画像を正確に保存するにはあまり適していない.そのため,まず最初にFormatメニューからPNGフォーマットを選択しておこう.

スクリーンショットを撮影するには,ウィンドウ左のSelection, Window, Screenといったボタンをクリックする.Selectionは画面上をドラッグして指定した部分が画像として取り込まれる.Windowでは,クリックして指定したウィンドウ部分が撮影され,ScreenではMacBookのモニタ画面全体が取り込まれる.

練習

Safariを起動して本学ホームページを表示させた状態にして,そのSafariウィンドウのスクリーンショットを撮影してPNG形式画像ファイルにて保存してみよう.

撮影されたスクリーンショットは,ウィンドウ右中央に小さくプレビューアイコンとして表示されており,これをダブルクリックするとプレビュー.appが起動して確認することが出来る.また,撮影されたスクリーンショットにはFilename欄に指定された名前で保存されるので,保存操作する前に適切なファイル名を入力してからReturnキーをタイプして変更しておく.

また,いわゆるカメラのセルフタイマー撮影を行うには,Timedボタン下の秒数を指定してからTimedボタンをクリックすると指定秒数経過後に自動的にモニタ画面全体が撮影される.これはメニュー操作を含めて撮影したい場合に使うと良い.

撮影結果を最終的にファイルとして保存するには,ウィンドウ上小さく表示されているプレビューアイコンをFinder上の任意のフォルダやデスクトップへドラッグ&ドロップすると,そこに画像ファイルとして保存される.

また,「Edit」メニュー -> Copy screenshotを選択するとクリップボードにスクリーンショットした画像データがコピーされる.クリップボードとは,コピー&ペースト操作を行う際,コピーした情報を一時的に記憶しておくためのMacOS Xが用意しているバッファ領域であり,クリップボードに画像が入れられた状態で,他のアプリケーション(LibreOfficeなど)でペースト操作を行うと,その画像データがペーストされる.

SnapNDragを使用している際の注意

SnapNDragには,有料の機能拡張としてEasyCropと,有料アップグレード版としてSnapNDrag Proという製品が提供されており,SnapNDragを使っていると以下のような「Pro版へアップグレードしませんか?」という「お勧め画面」が表示されることがある.

通常のスクリーンショット撮影では,フリー版のままで使っていて特に問題ないので,このような画面が表示されたら,「Don't Show This Again」ボタンをクリックしておこう.これでこの表示は出なくなる.

提出課題

その1: まず,こちらのキタキツネ画像をブラウザで表示して,その画像ファイルを自分のフォルダ(ホームフォルダなど)に保存せよ.尚,各課題で作成する画像デ−タのファイル名は重ならないように適当に区別して付けること(但し,拡張子の約束は守ること).

  1. キツネの顔の部分を四角く切り抜いたJPEG画像ファイル fox.jpgを作成せよ.
  2. 1の画像をPNG形式に変換した画像ファイル convert.png を作成せよ.

その2: 以下の自動車の画像のどちらか好みのものを選択して,それを自分のフォルダに保存せよ.

Windowsを自動車に例えると......こんな写真?

Macを自動車に例えると......こんな写真?

  1. 保存した自動車の画像に「前輪」「後輪」「ドア」が,それぞれ区別出来るように「注釈」を加えたJPEG画像 anotation.jpg を作成せよ.注釈の入れ方は次のようにせよ.前輪に対する注釈は赤く,後輪に対しては青く,ドアに対しては緑とせよ.それ以外の「注釈の入れ方」は各自工夫すること.
  2. 課題3で注釈を加える作業が完成した直後,その作業に用いたソフトウェアにて作業中のウィンドウのスクリーンショットを「証拠写真」としてPNGファイルとして撮影せよ.ファイル名 screen.png

上記の4課題で作成した画像について,それぞれをmoodle学習支援システムにて提出せよ.

提出期限: 教員の指示による

尚,この提出課題は画像加工の基本的操作が出来るようになる事が目的であり,芸術作品を作成する事ではない.従って,画像加工の美的水準は自分が納得できるレベルであれば出来不出来を問わない.

さらに高度な画像処理(画像加工)に興味がある者への補足

CSE環境には,Adobe PhotoShopに匹敵する機能があると言われるオープンソース画像操作アプリケーションGIMP (http://www.gimp.org)のMac OS X版がインストールしてある.GIMPは元々UNIX向けに開発されたが現在ではWindows版なども提供されている.

GIMPの使い方については,Googleにて「GIMP  使い方」などのキーワードで検索すると様々な参考資料が見つかるので,興味のある者は参考にしながら,独自の作品に取り組んでみると良いだろう.

基礎プログラミング演習Iの表紙ページへ戻る