-
関連項目
- 関数
- AnimatedImage
- DynamicImage
- Image3D
- Video
- Rasterize
- Graphics
- Raster
- ArrayPlot
- ImagePyramid
- ImageDimensions
- Binarize
- ImageData
-
- インタープリタタイプ
- Image
-
- ネットエンコーダ
- Image
-
- 形式
- TIFF
- JPEG
- PNG
- GIF
- 関連するガイド
- テクニカルノート
Image
詳細とオプション
- 画像はカメラあるいは撮像デバイスでキャプチャした画素の矩形格子である.画像は,一般に,圧縮されてTIFF,JPEG,PNG等の形式で保存される.
- Image[…]はノートブックに画像として表示される.
- Image[data]は data の連続する行をページの縦方向に,連続する列を横方向に並べる.
- Image[data]では,data の各要素で任意数のチャンネルの値を指定することができる.
- data の要素は次のいずれでもよい.
-
v 0(黒)から 1(白)までのグレーレベルとして描画する {r,g,b} 0から1までの赤,緑,青の値として描画する {c1,c2,c3,…} 等間隔の色相で表されるチャンネル値 color 特定の色 - 入力配列 data は,List,NumericArray,SparseArray等として与えることができる.
- Image[data]はデフォルトで任意の実数を扱うが,表示するのは0から1までの値である.
- Image[data,"type"]を使って指定されたデータタイプの画像を作ることができる.data 中の値は丸めや切捨て等によって指定のタイプに強制される.デフォルトで,"Real32"が仮定される.
- 次は,"type"の可能な設定である.
-
"Bit" 0か1の整数 "Byte" 0から255までの整数 "Bit16" 0から65535までの整数 "Real32" 単精度実数(32ビット) "Real64" 倍精度実数(64ビット) - Image[image,"type"]はタイプ間の変換に使用できる.
- Imageは,AtomQのような関数やパターンマッチの目的では,未加工オブジェクトして扱われる.
- 次のオプションを指定することができる.
-
AlignmentPoint Center 揃えるためのグラフィックス中のデフォルト点 BaselinePosition Automatic 周囲のテキストのベースラインとどのように揃えるか ColorSpace Automatic データにどの色空間を仮定するか ImageResolution Automatic 表示やエキスポートに使用する解像度 ImageSize Automatic 画像の表示サイズ Interleaving Automatic チャンネルがインターリーブされていると仮定するかどうか Magnification Automatic 表示画像をどのように拡大するか MetaInformation <||> 画像に関連付けられたメタ情報 - ColorSpace->cs はデータ中の値が特定の色空間 cs の座標であると解釈するように指定する.ColorSpace->Automaticは値が任意のチャンネル強度であるとして扱う.
- Image[graphics]は事実上Rasterize[graphics,"Image"]を使って graphics をラスタライズする.
- Image[Raster[…]]はRasterオブジェクトを画像に変換する.
- Image[image,opts]は事実上画像のオプションをリセットする.
- 直接画像に,Log,Plus,Mean等の算術および統計演算を使うことができる. »
- ImageのInformationには次の特性が含まれることがある.
-
"Channels" 画像チャンネルの数 "ColorSpace" データに仮定する色空間 "DataType" もとになっているデータタイプ "ImageDimensions" 画素次元 "Interleaving" データがインターリーブされて保存されているかどうか "Transparency" 画像に透明度(アルファ)チャンネルがあるかどうか
予備知識
- Imageは,インターネット等で見られる多くのデジタル画像形式(GIF,PNG,JPG等)の統一された記号表現を与える.特に,Imageオブジェクトには,ラスタ画像を表す値の二次元配列(または値のリスト)が含まれる.画像は,デジタル写真,テキストや画像のデジタル化,科学的可視化,その他幅広い分野でしばしば見ることができる.画像中のデータは,その画像がバイナリ画像か,グレースケールか,RGBあるいはCMYKか,アルファチャンネルを含むか,等によってさまざまな値を取る.
- 出力に際して,Imageは値の二次元配列としてではなく,実際の画像の絵となる.ImageオブジェクトはExportを使ってさまざまな標準的画像形式にエキスポートすることができる.また,多くの形式の画像が,Importを使ってImageオブジェクトとしてインポートできる.Imageは,外部アプリケーションからドラッグアンドドロップでノートブックに挿入することもできる.
- Image関数を適用することで,任意のGraphics式を画像に変換することができる.同様に,Rasterを適用することで,画像を他のGraphicsプリミティブと一緒に表示するのに適したラスタ式に変換することができる.関数Showを使って二次元ベクトルグラフィックス(あるいはGraphicsオブジェクト)をImageオブジェクトと組み合せることができる,
- 画像中の画素値の配列はImageDataを使って得ることができる.ImageDimensionsは,Imageオブジェクトに関連したラスタの画素次元を与える.ImageTypeは,画像の各画素を内部的に表すために使われる数の型を表すラベルを与える.Imageそれ自身を使って画像をある型から別の型に変換することができる.また,ImageAdjustを使って実数値画像のすべての値を0から1の間にすることができる.画像が含んでいるチャンネル数は,関数ImageChannelsを使って得ることができる.
- Imageオブジェクトの役に立つオプションには,ColorSpace,Interleaving,ImageResolution,ImageSize,Magnification等がある.
例題
すべて開く すべて閉じる例 (3)
Image[(| | | |
| --- | --- | --- |
| 0.1 | 0.2 | 0.3 |
| 0.4 | 0.5 | 0.6 |
| 0.7 | 0.7 | 0.9 |)]Image[(| | | |
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
| (\| \| \| --- \| \| 0 \| \| 0.6 \| \| 0 \|) | (\| \| \| --- \| \| 0.4 \| \| 0.1 \| \| 0.8 \|) | (\| \| \| --- \| \| 0.7 \| \| 0.9 \| \| 0.7 \|) |
| (\| \| \| --- \| \| 1 \| \| 0 \| \| 0.9 \|) | (\| \| \| --- \| \| 0.6 \| \| 0.6 \| \| 1 \|) | (\| \| \| --- \| \| 1 \| \| 0.8 \| \| 0.3 \|) |), ColorSpace -> "RGB"]Import["ExampleData/sample.heic"]Information[%]スコープ (18)
基本的な用法 (3)
Import["ExampleData/rose.gif"]i = [image];res = Image[i, "Real64"]ImageType /@ {i, res}Image[Plot[{Sin[x], Sin[2x]}, {x, 0, 2π}, ImageSize -> 200]]画像の作成 (11)
Import["ExampleData/girlcloseup.jpg"]RegionImage[Annulus[]]Image[(| | | | |
| --- | --- | --- | --- |
| 0.6 | 0.5 | 0.5 | 0.1 |
| 0.2 | 0.6 | 0.6 | 0.9 |
| 0.1 | 0.8 | 0.4 | 0.2 |
| 0.7 | 0.5 | 0.1 | 0.5 |)]デフォルトで,データは0から1までであると仮定され,画像タイプの"Real32"が生成される:
ImageType[%]Image[RandomReal[1, {4, 5, 3}]]Image[{{Red, Green}, {Blue, Gray}}]Image[(| | | | |
| --- | --- | --- | --- |
| 85 | 15 | 126 | 143 |
| 238 | 86 | 225 | 199 |
| 149 | 211 | 232 | 124 |
| 130 | 6 | 102 | 140 |), "Byte"]Image[(| | | |
| - | - | - |
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 0 | 1 | 0 |), "Bit"]SparseArrayオブジェクトから画像を作成する:
Image[SparseArray[{{2, 3}, {4, 2}} -> 1, {5, 5}]]Graphicsオブジェクトからラスタ画像を作成する:
Image[Plot[Sin[x], {x, 0, 2π}, ImageSize -> 200]]Head[%]Graphics3Dオブジェクトから画像を作成する:
Image[Graphics3D[Sphere[], ImageSize -> 200]]Head[%]GeoGraphicsオブジェクトから画像を作成する:
Image[GeoGraphics[GeoRange -> "World"]]Head[%]算術および統計演算 (4)
0.4 * [image] + 0.6 * [image]img = [image];img - EdgeDetect[img]stats = {Total, Min, Max, Mean, Median, StandardDeviation};Dataset[AssociationThread[Text /@ stats -> Through[stats[[image]]]]]システムオプション"IndeterminateValue"の値は,ComplexInfinityやIndeterminateを含む画像に保存できない値の置き換えに使われる.
SystemOptions["ImageProcessingOptions" -> "IndeterminateValue"]data = {{0, 1, 2, 3}};
img = Image[data];data^dataimg^img//ImageData"IndeterminateValue"オプションの現行値を変更する:
SetSystemOptions["ImageProcessingOptions" -> "IndeterminateValue" -> 100];img^img//ImageDataSetSystemOptions["ImageProcessingOptions" -> "IndeterminateValue" -> 0 ];オプション (21)
ColorSpace (8)
デフォルトで,データから画像を生成する際は,特定の色空間は仮定されない:
Image[RandomReal[1, {8, 10}]]ImageColorSpaceで画像の色空間をチェックする:
ImageColorSpace[%]Image[RandomReal[1, {8, 10}], ColorSpace -> "Grayscale"]ImageColorSpace[%]Image[RandomReal[1, {8, 12, 3}], ColorSpace -> "RGB"]Image[RandomReal[1, {8, 12, 4}], ColorSpace -> "RGB"]Image[RandomReal[1, {8, 12}], ColorSpace -> "Graylevel"]Image[RandomReal[1, {8, 12, 2}], ColorSpace -> "Graylevel"]Image[RandomReal[1, {8, 10, 4}], ColorSpace -> "CMYK"]Image[RandomReal[1, {8, 10, 3}], ColorSpace -> "XYZ"]任意数のチャンネル画ある画像はColorSpace->Automaticで保存される:
i = Image[RandomReal[1, {8, 10, 12}]]ImageColorSpace[i]ImageChannels[i]画像のチャンネルは,その色空間で期待される数と一致しなければならない:
Image[RandomReal[1, {2, 3}], ColorSpace -> "RGB"]Image[[image], ColorSpace -> "HSB"]ColorConvertを使って画素値を新たな空間に変換する:
ColorConvert[[image], "HSB"]ImageResolution (3)
デフォルトの倍率のとき,ImageResolution72はスクリーンの1インチに72画素入ることを意味する:
Image[LinearGradientImage[Hue, {72, 72}], ImageResolution -> 72]Table[Image[[image], ImageSize -> All, ImageResolution -> dpi], {dpi, {72, 108, 144, 180}}]ImageResolutionの値は何らかの関数によって自動的に設定されているかもしれない:
Rasterize[Style[Exp[Pi], 50], ImageResolution -> 200]%//OptionsImageSize (3)
Image[RandomReal[1, {8, 12, 3}], ImageSize -> 100]ImageSize->Automaticのとき,画像は実際のサイズより大きくなったり小さくなったりする:
Table[RandomImage[1, {1, 1}2^n, ImageSize -> Automatic], {n, 7}]ImageSize->Allとしてすべての画像を実際のサイズで見る:
Table[RandomImage[1, {1, 1}2^n, ImageSize -> All], {n, 7}]Image[[image], ImageSize -> 300]幅と高さの両方を指定すると,縦横比が一致しない場合に余白が加えられる:
Image[[image], ImageSize -> {300, 300}]//FramedInterleaving (3)
i = Image[RandomReal[1, {8, 12, 3}]]Optionsを使ってInterleaving設定を抽出する:
Options[i, Interleaving]ImageDimensions[i]ImageChannels[i]i2 = Image[RandomReal[1, {8, 12, 3}], Interleaving -> False]ImageDimensions[i2]ImageChannels[i2]Image[RandomReal[1, {3, 8, 12}], Interleaving -> False]i1 = [image];i2 = Image[i1, Interleaving -> False]Options[#, Interleaving]& /@ {i1, i2}Magnification (2)
Image[[image], Magnification -> 5]ImageSizeとMagnificationは,両方とも画像サイズを制御する:
i = [image];{Image[i, ImageSize -> 50], Image[i, Magnification -> 2]}両方が設定されている場合は,ImageSizeの指定が使われる:
Image[i, ImageSize -> 50, Magnification -> 2]MetaInformation (2)
Image[[image], MetaInformation -> {"Owner" -> "John"}]Optionsを使ってメタ情報を抽出する:
Options[%, MetaInformation]Importはファイルに保存されたメタデータをMetaInformationオプションに入れる:
Import["ExampleData/coneflower.jpg"]Options[%, MetaInformation]アプリケーション (2)
特性と関係 (9)
Imageオブジェクトは原子的であり,分割することができない:
AtomQ[[image]]0未満の値はすべて黒で,1より大きい値はすべて白で表示される:
Image[{Range[-.5, 1.5, .2]}, Magnification -> 15]//Framed範囲外の値がある画像については,ImageAdjustを使ってすべての値が0から1までになるようにスケールする:
ImageAdjust[Image[{Range[-.5, 1.5, .2]}, Magnification -> 15]]//Framed異なる画像タイプは異なるビットの深さを使用する.圧縮には小さいビット深度を使う:
AssociationMap[ByteCount[Image[[image], #]]&, {"Byte", "Bit16", "Real32", "Real64"}]//Dataset整数画像に対して算術演算を行う際には,画像は実数型へ変換される:
i = Image[{{50, 100, 150}}, "Byte"];
ImageType[i]i + 1//ImageTypei + 1//ImageDataImageAddのような画像関数は,値を丸めたり切り捨てたりする場合がある:
ImageAdd[i, 1]//ImageDataArrayRules[ImageData[Image[{{0, 1}, {1, 0}}, "Bit"]]]Rasterizeを使って任意の式から画像を作成する:
Rasterize[x + y, Background -> StandardBlue]Head[%]RandomImageを使って画素値がランダムなImageを作成する:
RandomImage[1, {50, 50}, ColorSpace -> "RGB"]ConstantImageは,一定の色のImageを作成することができる:
ConstantImage[Cyan, {50, 50}]LinearGradientImageとRadialGradientImageを使って勾配画像を作成することができる:
LinearGradientImage[{{Left, Bottom}, {Right, Top}} -> "Rainbow", {50, 50}]RadialGradientImage["Rainbow", {50, 50}]関連項目
AnimatedImage DynamicImage Image3D Video Rasterize Graphics Raster ArrayPlot ImagePyramid ImageDimensions Binarize ImageData
インタープリタタイプ: Image
ネットエンコーダ: Image
テクニカルノート
-
▪
- 画像処理
関連するガイド
履歴
2008 で導入 (7.0) | 2012 で更新 (9.0) ▪ 2014 (10.0) ▪ 2016 (11.0) ▪ 2017 (11.1) ▪ 2019 (12.0)
テキスト
Wolfram Research (2008), Image, Wolfram言語関数, https://reference.wolfram.com/language/ref/Image.html (2019年に更新).
CMS
Wolfram Language. 2008. "Image." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/Image.html.
APA
Wolfram Language. (2008). Image. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Image.html
BibTeX
@misc{reference.wolfram_2026_image, author="Wolfram Research", title="{Image}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/Image.html}", note=[Accessed: 28-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_image, organization={Wolfram Research}, title={Image}, year={2019}, url={https://reference.wolfram.com/language/ref/Image.html}, note=[Accessed: 28-October-2026]}