WebP (.webp)

予備知識

    • 登録MIMEタイプ:image/webp
    • WebPラスタ画像形式.
    • バイナリ形式.
    • 静止画とアニメーション画像の両方を保存する.
    • チャンネルあたり8ビットの解像度でカラービットマップを保存する.
    • アルファチャンネルをサポートする.
    • Webにおける可逆・不可逆の画像圧縮を提供するために2010年にGoogleによって導入された.

ImportとExport

  • Import["file.webp"]はWebPファイルをインポートし,単一のImageオブジェクトまたは画像のリストを返す.
  • Import["file.webp",elem]はWebPファイルから指定の要素をインポートする.
  • インポート形式はImport["file","WebP"]またはImport["file",{"WebP",elem,}]で指定できる.
  • Export["file.webp",expr]は式 expr をWebPにエキスポートする.
  • expr は以下のいずれかが可能である:
  • imageImage
    graphicsラスタ化されたグラフィックス
    exprラスタ化された任意の式
    {expr1,expr2,}ラスタ化された式のアニメーション
    AnimatedImage[]AnimatedImageフレームのアニメーション
    Manipulate[]Manipulate式のアニメーション
  • グラフィックスや任意の式をエキスポートする際,結果の画像は表示形式と同じラスタサイズとなる.
  • 画像オブジェクトはデフォルトでそれぞれのラスタサイズでエキスポートされる.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Data"色値の配列
    "Graphics"画像を表すGraphicsオブジェクト
    "Image"Imageオブジェクトとして与えられるラスタ画像
    "Thumbnail"最初の画像のサムネイル
  • アニメーションWebPファイルのデータ表現要素:
  • "AnimatedImage"AnimatedImageオブジェクトとして返されるデータ
    "GraphicsList"Graphicsオブジェクトとして返されるデータ
    "ImageList"Imageオブジェクトとして返されるデータ
    "ThumbnailList"サムネイルとして返されるデータ
  • Importはデフォルトで,静止画のWebPに対しては"Image"要素を,アニメーションWebPに対しては"ImageList"要素を使用する.
  • アニメーションWebPのImport"Image"を使用すると,アニメーションの最初のフレームが与えられる.
  • アニメーションWebPファイルにはデータ要素のサブ要素が{elem,frame}という形式で使用できる.frame は以下のいずれかが可能である:
  • nn 番目のフレーム
    -n最後から数える
    n;;mn から m まで
    n;;m;;sn から m までステップ s
    {n1,n2,}特定のフレーム ni
  • 高度なImport要素:
  • "AnimationRepetitions"アニメーションが停止するまでに何回再生するか
    "BitDepth"各色チャンネルを表すのに使用されるビット数
    "Channels"
  • 色チャンネルの数
  • "ColorProfileData"ColorProfileDataオブジェクトとして与えられる埋込みカラープロファイル
    "ColorSpace"ファイルで使用されている色符号化
    "DisplayDurations"アニメーションフレームの表示時間(秒)
    "ImageCount"フレーム数
    "RasterSize"ラスタ次元
    "Summary"
  • ファイルの概要
  • "SummarySlideView"全フレームのスライドビューによる概要
  • メタデータクラス要素:
  • "Exif"整形されたExif(交換可能画像ファイル形式)
    "XMP"整形されたXMP(拡張可能メタデータプラットフォーム)
    "MetaInformation"ファイル内に存在するすべての整形されたメタデータの組合せ
  • ファイルに保存されているままの生のメタデータは"RawExif""RawXMP""RawIPTC"要素を使ってインポートすることができ,結果は連想で返される.
  • Exifタグはすべて別々にインポートできる.一般的なタグには以下のようなものがある:
  • "ApertureValue"レンズ口径
    "DateTime"画像の作成日時
    "ExposureTime"露光時間(秒)
    "FNumber"F値
    "FocalLength"レンズの実際の焦点距離(ミリメートル)
    "Make"記録装置の製造元
    "Model"装置のモデル名またはモデル番号
    "Software"画像生成に使用されたカメラまたは画像入力デバイスのソフトウェアまたはファームウェアの名前とバージョン番号
  • 派生メタデータ要素:
  • "CameraTopOrientation"
  • 写真が撮影されたときのカメラの向き
  • "FlashUsed"
  • フラッシュが使用されたかどうか
  • "GeoPosition"
  • GeoPositionオブジェックトで表される緯度と経度
  • "GPSDateTime"
  • GPSによって登録された画像の作成日時

オプション

例題

すべて開くすべて閉じる

  (4)

WebPファイルをインポートする:

画像の概要:

マルチフレームWebPをインポートする:

画像をWebPにエキスポートする:

スコープ  (8)

Import  (2)

静的WebP画像をインポートする:

WebP画像の概要:

アニメーションWebPをインポートする:

アニメーションWebPの概要:

アニメーションWebPのフレームの概要:

Export  (6)

画像をWebPにエキスポートする:

グラフィックスをWebPにエキスポートする:

任意の式をエキスポートするとラスタ化される:

画像のリストからアニメーションWebPファイルを作成する:

AnimatedImageオブジェクトからアニメーションWebPファイルを作成する:

ManipulateからアニメーションWebPを作成する:

エキスポートされたフレームの数を読み取る:

重複したフレームは単一フレームとして保存され,それに従って表示時間が調整される:

Import要素  (33)

利用できる要素  (1)

利用できる要素のリスト:

データ表現  (12)

AnimatedImageオブジェクトとしてインポートする:

画像データをインポートする:

適切な型の画像を構築する:

Graphicsオブジェクトとしてインポートする:

データをGraphicsオブジェクトのリストとして取得する:

インポートするフレームを指定する:

Imageオブジェクトとしてインポートする:

これは単一フレームのWebPのデフォルトのインポート要素である:

データをImageオブジェクトのリストとして取得する:

これはアニメーションWebPのデフォルトのインポート要素である:

インポートするフレームを指定する:

画像のサムネイルをインポートする:

このファイルからインポートできる要素を表示する:

マルチフレーム画像のサムネイルのリストをインポートする:

インポートするフレームを指定する:

メタデータ  (20)

アニメーションの繰返しの想定回数を取得する:

各色チャンネルを表すのに使用されているビット数を取得する:

キャプチャした時のカメラの向きを取得する:

画像チャンネル数を取得する:

エキスポートで使用された色符号化を取得する:

インポートする画像の色空間をImageColorSpaceを使って取得する:

画像をキャプチャした日付と時刻を取得する:

Exifメタデータを取得する:

連想から個別のタグを取り出す:

個別のExifタグを直接インポートすることができる:

Exifタグのいくつかはより詳しい情報を与えるために処理される:

直に"FlashInfo"タグをつけて比べる:

アニメーションの各フレームの継続時間を取得する:

フラッシュを使用したかどうかを示すタグをインポートする:

"FlashUsed""FlashInfo"要素の部分要素である:

完全な"Exif"から"FlashUsed" を取り出す:

フレーム数を取得する:

全てのメタデータを取得する:

ファイルに保管された画像の大きさを取得する:

インポートされた画像に対してImageDimensionsを適用しても同じ結果が得られる:

生のExifデータをインポートする:

RawExifタグを使うと,ファイルに格納された実際の値を得ることができる:

"Exif"をインポートするとき,ほとんどのタグは処理される:

処理されていないXMPメタデータをインポートする:

赤目補正処理がされているかどうかチェックする:

画像の概要を取得する:

画像フレームの概要を見る:

XMPメタデータを取得する:

XMP "BasicSchema"メタデータを取り出す:

Importオプション  (5)

"ImageTopOrientation"  (1)

デフォルトでは画像は上向きでインポートされる:

上部として想定する辺を指定する:

方向は画像を直立方向に回転させて正すこともできる:

IncludeMetaInformation  (3)

デフォルトでは,全ての可能なメタデータがインポートされる:

JPEGファイルのメタデータの可能なクラスには,"Exif""XMP"がある:

メタデータのない画像をインポートする:

"XMP"メタデータだけがある画像をインポートする:

RasterSize  (1)

デフォルトでは,画像は完全解像度でインポートされる:

インポートしたWebP画像のラスタサイズを指定する:

Exportオプション  (7)

AnimationRepetitions  (1)

デフォルトではアニメーションは無限に繰り返されるように設定されている:

繰返しの回数を指定する:

CompressionLevel  (1)

デフォルトでは,エキスポートの際に圧縮は使用されない:

より大きいCompressionLevelを使うと,ファイルサイズを減らすことができる:

エキスポートされた画像の画質が劣化している:

さまざまな圧縮レベルにおけるファイルサイズと画質の差の変化を比較する:

"DisplayDurations"  (2)

デフォルトではすべてのフレームに固定の継続時間が使用される:

各フレームの継続時間を指定する:

重複したフレームはまとめられ,それに従ってフレームの継続時間が調整される:

"ImageTopOrientation"  (1)

デフォルトでは直立方向の画像は"ImageTopOrientation"->Topを使ってエキスポートされる:

向きを指定する:

IncludeMetaInformation  (1)

デフォルトでは,存在する全てのメタ情報がエキスポートされる:

メタデータをエキスポートしない:

RasterSize  (1)

デフォルトでは,画像は完全解像度でエキスポートされる:

エキスポートした画像のラスタサイズを指定する: