ImageForwardTransformation[image,function]
位置 function[{x,y}]の各画素が image の位置{x,y}に対応する画像を返す.
ImageForwardTransformation[image,function,size]
指定された大きさの画像を返す.
ImageForwardTransformation[video,…]
動画のフレームを変換する.
ImageForwardTransformation
ImageForwardTransformation[image,function]
位置 function[{x,y}]の各画素が image の位置{x,y}に対応する画像を返す.
ImageForwardTransformation[image,function,size]
指定された大きさの画像を返す.
ImageForwardTransformation[video,…]
動画のフレームを変換する.
詳細とオプション
- ImageForwardTransformation[image, f]は,前方変換として知られるもので,image の位置{x,y}にある画素すべを出力画像の位置 f[{x,y}]に変換する.
- ImageForwardTransformation[image,function]はもとの画像と同じ大きさの画像を返す.
- ImageForwardTransformationは任意の二次元画像に使うことができる.
- もとの画像の画素位置は水平方向が0から1まで,垂直方向が0から縦横比までの範囲であると想定される.
- 次は,size の可能な設定である.
-
Automatic 自動画像サイズ All 入力の画像サイズと同じ width 明示的な width,高さは自動 {width,height} 明示的な width と height {width,depth,height} 3Dで,明示的な width,depth,height - width,depth,height の可能な指定については,ImageResizeの関数ページを参照のこと.
- 可能な size 指定についてはImageResizeの説明を参照のこと.
- ImageForwardTransformationの可能なオプション
-
Background Black 背景の値 DataRange Automatic もとの画像中の
と
の値の仮定される範囲Method Automatic 使用する補間法 PlotRange Automatic 変換結果に含まれる座標範囲 - DataRangeのよく使われる設定値
-
Automatic 2Dでは{{0,1},{0,h/w}},3Dでは{{0,1},{0,d/w},{0,h/w}} Full 2Dでは{{0,w},{0,h}},3Dでは{{0,1},{0,d},{0,h}} {{left,right},{bottom,top}} 2Dにおける明示的な座標範囲 {{left,right},{front,back},{bottom,top}} 3Dにおける明示的な座標範囲 - 結果の画像の座標系はPlotRangeオプションで指定される.次はよく使われる設定値である.
-
Automatic DataRangeの設定と同じ All 変換された全画素を含もうとする Full 入力画像と同じ範囲 {{left,right},…} 明示的な座標範囲 - PlotRangeがAutomatic以外のとき,size はもとの画像の大きさとPlotRangeとDataRangeの比に基づいて選ばれる.
- デフォルトで,変換された点はMethod->"Interpolated"を使って補間される.MethodNoneを使って補間を避けることができる.
例題
すべて開く すべて閉じるスコープ (8)
データ (3)
ImageForwardTransformation[[image], # ^ 2&]ImageForwardTransformation[[image], # ^ 2&]ImageForwardTransformation[\!\(\*VideoBox[""]\), # ^ 2&]変換 (4)
i = [image];ImageForwardTransformation[i, Cos[Pi / 2 #]&]ImageForwardTransformation[i, ArcSin[ # ^ 4]&]ImageTransformation[i, FractionalPart[3# Total[#]] ^ 1.5&]ImageForwardTransformation[i, # Total[#]&]i = [image];ImageForwardTransformation[i, {#[[1]] ^ 2, #[[2]] #[[1]]}&]ImageForwardTransformation[i, {#[[1]], 1 - Sqrt[#[[2]]]}&]ImageForwardTransformation[[image], {{(1/2), (1/4)}, {1, -(1/2)}}.#&]ImageForwardTransformation[[image], ReflectionTransform[{1, -1}]]ImageForwardTransformation[[image], RotationTransform[35°, {0.5, 0.5}]]サイズ (1)
i = [image];ImageForwardTransformation[i, # ^ 2&]ImageDimensions[i] == ImageDimensions[%]ImageForwardTransformation[i, # ^ 2&, 100]ImageForwardTransformation[i, # ^ 2&, {200, 100}]ImageForwardTransformation[i, # ^ 2&, Scaled[0.5]]ImageForwardTransformation[i, # ^ 2&, Tiny]Allを使ってもとの画像と同じ大きさのものを得る:
ImageForwardTransformation[[image], RotationTransform[45°, {0.5, 0.5}], #, PlotRange -> (| | |
| ------------------- | ------------------ |
| (1/2) (1 - Sqrt[2]) | (1/2)(1 + Sqrt[2]) |
| (1/2) (1 - Sqrt[2]) | (1/2)(1 + Sqrt[2]) |)]& /@ {All, Automatic}オプション (4)
Background (1)
i = [image];
ImageForwardTransformation[i, RotationTransform[-20]]ImageForwardTransformation[i, RotationTransform[-20], Background -> Red]ImageForwardTransformation[i, RotationTransform[-20Degree], Background -> Transparent]DataRange (1)
デフォルトで,DataRange->Automaticが使われる:
i = [image];ImageForwardTransformation[i, TranslationTransform[{-0.2, -0.2}], DataRange -> Automatic]画素座標で平行移動を定義するときは,DataRange->Fullを使う:
ImageForwardTransformation[i, TranslationTransform[{50, 50}], DataRange -> Full]カスタムのDataRangeを使う:
ImageForwardTransformation[i, TranslationTransform[{-0.2, -0.2}], DataRange -> {{0, 1}, {0, 0.5}}]ImageForwardTransformation[i, ReflectionTransform[{0, 1}], DataRange -> #]& /@ {Automatic, {Automatic, {-.5, .5}}}ImageForwardTransformation[i, # + 50&, DataRange -> Full,
PlotRange -> Transpose@{{0, 0}, ImageDimensions@i + 50}]Method (1)
PlotRange (1)
デフォルトで,出力画像には入力画像のプロット範囲が残される:
i = [image];
ImageForwardTransformation[i, RotationTransform[-45°]]PlotRange->Allを使って変換された画像のすべての画素を見る:
ImageForwardTransformation[i, RotationTransform[-45°], PlotRange -> All]ImageForwardTransformation[i, RotationTransform[-45°], PlotRange -> {{0, Sqrt[2]}, {-(1/Sqrt[2]), Sqrt[2] - (1/Sqrt[2])}}]ImageForwardTransformation[i, RotationTransform[35°, ImageDimensions[i] / 2], PlotRange -> Full]アプリケーション (3)
画像のペアから変換関数を決定することで,未知の幾何変換を反転させる:
i = [image];j = [image];
tf = FindGeometricTransform[i, j, TransformationClass -> "Rigid"][[2]]ImageForwardTransformation[j, tf, DataRange -> Full]ImageForwardTransformation[[image], 8.3Floor[# / 8] + 1&, DataRange -> All]ImageForwardTransformation[[image], # + .1Floor[10#]&, 200,
PlotRange -> All]特性と関係 (3)
ImageForwardTransformation[[image], 1.5#&]ImageTransformationはその逆を行う:
ImageTransformation[[image], 1.5#&]画素の座標を反転させることは,前方変換および逆変換と同じ結果を与える操作である:
ImageForwardTransformation[[image], Reverse]ImageTransformation[[image], Reverse]関数とその逆関数を使った変換を行うと,補間によって少しぼやけたもとの画像が与えられる:
ImageForwardTransformation[ImageForwardTransformation[[image], Sqrt], # ^ 2&]おもしろい例題 (3)
i = [image];
f[x_, y_, c_] := With[{r = N@Sqrt[(x - c[[1]]) ^ 2 + (y - c[[2]]) ^ 2], a = ArcTan[x - c[[1]], y - c[[2]]], R = Min[c]}, rn = Sqrt[r * R];
{rn * Cos[a] + c[[1]], rn * Sin[a] + c[[2]]}]
ImageForwardTransformation[i, f[#[[1]], #[[2]], ImageDimensions[i] / 2]&, DataRange -> Full, Background -> None]ImageForwardTransformation[[image], {#[[1]], #[[2]] - RandomReal[] * 30}&, PlotRange -> Full]img = [image];
f[x_, y_, c_] := With[{r = N@Sqrt[(x - c[[1]]) ^ 2 + (y - c[[2]]) ^ 2], a = ArcTan[x - c[[1]], y - c[[2]]] / Pi * 180},
{x + Mod[(a + r / 2.), 16] - 8, y}];
ImageForwardTransformation[img, f[#[[1]], #[[2]], ImageDimensions[img] / 2.]&, DataRange -> Full]関連するガイド
-
▪
- 幾何演算 ▪
- 動画計算機能の更新履歴 ▪
- 動画編集
テキスト
Wolfram Research (2010), ImageForwardTransformation, Wolfram言語関数, https://reference.wolfram.com/language/ref/ImageForwardTransformation.html (2021年に更新).
CMS
Wolfram Language. 2010. "ImageForwardTransformation." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/ImageForwardTransformation.html.
APA
Wolfram Language. (2010). ImageForwardTransformation. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ImageForwardTransformation.html
BibTeX
@misc{reference.wolfram_2026_imageforwardtransformation, author="Wolfram Research", title="{ImageForwardTransformation}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/ImageForwardTransformation.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_imageforwardtransformation, organization={Wolfram Research}, title={ImageForwardTransformation}, year={2021}, url={https://reference.wolfram.com/language/ref/ImageForwardTransformation.html}, note=[Accessed: 03-November-2026]}