How to | 画像をインポートしたりエキスポートしたりする方法
Wolframシステムのノートブックに画像をロードする方法は数多くあるが,中でもImportがローカルコンピュータやリモートの場所にある画像ファイルにアクセスするのに主に使われる.画像のインポートおよびエキスポートは,ほとんどどのような画像処理計算を行う場合にでも最初と最後に最もよく行われるステップである.
挿入 ▶ ファイルパスのメニュー項目を使うか,ファイルパスを入力するかして画像ファイルを画像オブジェクトとしてインポートする.
以下の例では画像をWolfram言語のドキュメントディレクトリのExampleDataからインポートする:
Import["ExampleData/peacock.tif"]Wolfram言語は,すべてのシステムで使用できる,ファイルに名前を付けたりファイルを検索したりするための一般的な構造を提供する.
FileNameJoinを使ってローカルシステム上にあるファイルに完全なパスを構築する:
file = FileNameJoin[{$InstallationDirectory, "Documentation", "English", "System", "ExampleData", "peacock.tif"}];Importのために画像の要素を指定することによって,画像についての有益な情報をカーネルにロードする前に得ることができる.ファイル形式はファイル名拡張子から自動的に推測される:
Import[file, "Elements"]Import[file, "ImageSize"]i = Import[file]いったん画像がインポートされると,この画像を修正したり解析したりすることができるようになる.簡単な例として,色チャンネルの異なる置換を使うことによって画像の外観がどのように変化するかを見ることができる.
ColorSeparate[i]チャンネルを6つの異なった方法で置換してそれぞれから色画像を形成する:
res = Map[ColorCombine, Permutations[%]]これで数多くのサポートされるファイル形式のいずれかを使ってエキスポートすることによって,6つの異なる画像をローカルのファイルシステムに保存することができるようになった.以下の例では効率的に保存できるJPEG形式が使用されている.
既存のディレクトリにエキスポートすることもWolfram言語内から新しいディレクトリを作成することも可能である.以下ではCreateDirectoryを使ってローカルシステムの一時的な保存場所にディレクトリを作成する:
dir = CreateDirectory[];FileNameJoinを使えば,簡単なインデックススキームを使ったファイル名を構築することができる:
FileNameJoin[{dir, StringJoin["peacock[", ToString[0], "].jpg"]}]"/tmp/m00000210961/peacock[0].jpg"TableをExportと一緒に使ってファイルに名前を付けることをインデックススキームに基づいて反復する:
Table[Export[FileNameJoin[{dir, StringJoin["peacock[", ToString[i], "].jpg"]}], res[[i]], "JPEG"], {i, 6}]Import[Last[%]][image]