GradientFilter[data,r]
サンプル半径 r のガウス離散微分を使って計算された data の勾配の大きさを与える.
GradientFilter[data,{r,σ}]
標準偏差が σ のガウシアンを用いる.
GradientFilter[data,{{r1,r2,…},…}]
data のレベル i に半径 ri等のガウシアンを用いる.
GradientFilter
GradientFilter[data,r]
サンプル半径 r のガウス離散微分を使って計算された data の勾配の大きさを与える.
GradientFilter[data,{r,σ}]
標準偏差が σ のガウシアンを用いる.
GradientFilter[data,{{r1,r2,…},…}]
data のレベル i に半径 ri等のガウシアンを用いる.
詳細とオプション
- GradientFilterは,信号および画像の急激に変化する領域を検出するためによく使われる.
- 1チャンネル画像とデータについては,勾配の大きさは画素の位置における勾配
のユークリッドノルムであり,各次元でガウス離散微分を使って近似されている. - 多チャンネル画像については,ヤコビ行列
を
と定義する.この場合,
はチャンネル
の勾配である.勾配の大きさは,単一チャンネル画像として返される
の最大固有値の平方根である. - data は以下のいずれでもよい.
-
list 任意階数の数値配列 tseries TimeSeriesやTemporalData等の時間データ image 任意のImageオブジェクトまたはImage3Dオブジェクト audio Audioオブジェクト video Videoオブジェクト - GradientFilter[data,r]は標準偏差
を使う. - 指定可能なオプション
-
Method Automatic たたみ込みカーネル Padding "Fixed" 充填方法 WorkingPrecision Automatic 使用精度 - Methodには,次のサブオプションを与えることができる.
-
"DerivativeKernel" "Bessel" たたみ込みカーネル "NonMaxSuppression" False 非最大抑制を使うかどうか - "DerivativeKernel"の可能な設定
-
"Bessel" 標準化されたベッセル微分カーネル.キャニー(Canny)エッジ検出に使われる "Gaussian" 標準化されたガウス微分カーネル.キャニーエッジ検出に使われる "ShenCastan" 指数関数の一次微分 "Sobel" Sobelエッジ検出カーネルの二項一般化 {kernel1,kernel2,…} 各次元で指定された明示的なカーネル - GradientFilter[data,…]は,デフォルトで,配列,音声オブジェクトまたは data と同じ次元の画像を与える.
- Padding->Noneと設定すると,GradientFilter[data,…]は,通常,配列,音声オブジェクト,あるいは data より小さい,画像を与える.
- GradientFilter[image,…]は,実数型の画像を返す.
例題
すべて開く すべて閉じる例 (3)
スコープ (11)
データ (7)
list = {0, 0, 0, 1, 4, 6, 4, 1, 0, 0, 0};
res = GradientFilter[list, 1]ListLinePlot[{list, res}](mat = N@BoxMatrix[1, 7])//MatrixFormGradientFilter[mat, 1]//MatrixFormTimeSeriesにフィルタをかける:
ts = TemporalData[TimeSeries, {{{0., -0.27267267057145633, -0.6672983789995302, -0.5338541947930846,
-0.6117404489279314, -0.6755527076595494, -0.02125421294486496, -0.10792797291843935,
-0.6138271235477938, -0.3248568606554575, -0.08843449054 ... 2053424, -0.49980440691873723, -0.5388679788215971,
-0.4101602764645551}}, {{0, 1., 0.01}}, 1, {"Continuous", 1}, {"Continuous", 1}, 1,
{ValueDimensions -> 1, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}}}, False,
10.1];filtered = GradientFilter[ts, 3]ListLinePlot[{ts, filtered}, ...]Audio信号にフィルタをかける:
a = Import["ExampleData/rule30.wav"];
b = GradientFilter[a, 1]AudioPlot[{a, AudioNormalize[b]}]GradientFilter[[image], 2]// ImageAdjustGradientFilter[Video["ExampleData/fish.mp4"], 2]GradientFilter[[image], 1]パラメータ (4)
ImageAdjust[GradientFilter[[image], #]]& /@ {1, 3, 6}i = [image];
GradientFilter[i, {{5, 1}}]//ImageAdjusti = [image];
GradientFilter[i, {{1, 0}}]GradientFilter[i, {{0, 1}}]i = [image];
GradientFilter[i, 5]// ImageAdjustGradientFilter[i, {5, .5}]// ImageAdjustオプション (9)
Method (3)
GradientFilter[[image], 1]GradientFilter[[image], 1, Method -> "ShenCastan"]GradientFilter[[image], Method -> {(| | | |
| -- | -- | -- |
| -1 | -1 | -1 |
| 0 | 0 | 0 |
| 1 | 1 | 1 |), (| | | |
| -- | - | - |
| -1 | 0 | 1 |
| -1 | 0 | 1 |
| -1 | 0 | 1 |)}]i = [image];
GradientFilter[i, 11]//ImageAdjustShen–Castanメソッドを使うと大規模スケールでのよりよいコーナーの局所化が行われる:
GradientFilter[i, 11, Method -> "ShenCastan"]//ImageAdjusti = [image];
GradientFilter[i, 3]//ImageAdjustGradientFilter[i, 3, Method -> "NonMaxSuppression" -> True]//ImageAdjustNo-Max SuppressionアルゴリズムでShen-Castan法を使う:
GradientFilter[[image], 21, Method -> {"ShenCastan", "NonMaxSuppression" -> True}]//ImageAdjustPadding (2)
異なる充填法を使ったGradientFilter:
v = {0, 1, 2, 3, 4, 4, 3, 2, 1, 0};
pad = {"Fixed", "Periodic", "Reflected"};
ListLinePlot[GradientFilter[v, 2, Padding -> #]& /@ pad, PlotLegends -> pad]Padding->Noneは,通常は,入力画像より小さい画像を返す:
GradientFilter[[image], 30, Padding -> None]//ImageAdjustWorkingPrecision (4)
MachinePrecisionは,デフォルトで,整数配列とともに使われる:
GradientFilter[{3, 3, 4, 4, 5, 5}, 100]GradientFilter[{3, 3, 4, 4, 5, 5}, 1, WorkingPrecision -> ∞]GradientFilter[{1.0000000000000000000, 2.0000000000000000000, 3.0000000000000000000, 4.0000000000000000000}, 1]GradientFilter[{1.0000000000000000000, 2.0000000000000000000, 3.0000000000000000000, 4.0000000000000000000}, 1, WorkingPrecision -> MachinePrecision]GradientFilter[{a, b, c}, 1]画像にフィルタをかける場合は,WorkingPrecisionは無視される:
GradientFilter[[image], 1, WorkingPrecision -> Infinity]ImageType[%]アプリケーション (4)
GradientFilter[[image], 1]// Binarizei = [image];
u = GradientFilter[i, 1]i + 2u(g = GradientFilter[[image], 2])//ImageAdjustWatershedComponents[g, Method -> {"MinimumSaliency", 0.8}]//ColorizeGradientFilter[[image], 1]特性と関係 (4)
ベクトルのGradientFilterは,ベクトルのガウス一次微分の絶対値である:
v = {1, 0, -1, 2, 3, -1, 0, 1};
GradientFilter[v, 1] == Abs[GaussianFilter[v, 1, 1]]グレースケール画像のGradientFilterは,画像の各次元のガウス一次微分の平方和の平方根である:
i = [image];
GradientFilter[i, 1] == Sqrt[GaussianFilter[i, 1, {1, 0}]^2 + GaussianFilter[i, 1, {0, 1}]^2]ListLinePlot[GradientFilter[ArrayPad[{1}, 15], #]& /@ {1, 3, 6}, PlotRange -> All, PlotLegends -> {"r=1", "r=3", "r=6"}]ImageAdjust[GradientFilter[Image[ArrayPad[{{1}}, 50]], {50, #}]]& /@ {5, 10, 20}Labeled[ImageAdjust[GradientFilter[Image[ArrayPad[{{1}}, 50]], 50, Method -> #]], #]& /@ {"Bessel", "Gaussian", "ShenCastan", "Sobel"}バイナリ画像に勾配フィルタを適用すると,実数型のグレースケール画像が与えられる:
d = Image[DiskMatrix[23, 81], "Bit"]GradientFilter[d, {2, 1}]ImageType[%]考えられる問題 (1)
おもしろい例題 (2)
関連するガイド
-
▪
- 画像のフィルタリングと近傍処理 ▪
- 分割解析 ▪
- 線形・非線形フィルタ ▪
- 画像の処理と解析 ▪
- 特徴検出 ▪
- 信号フィルタリングとフィルタ設計 ▪
- 動画計算機能の更新履歴
履歴
2008 で導入 (7.0) | 2010 で更新 (8.0) ▪ 2014 (10.0) ▪ 2015 (10.1) ▪ 2016 (11.0) ▪ 2025 (14.3)
テキスト
Wolfram Research (2008), GradientFilter, Wolfram言語関数, https://reference.wolfram.com/language/ref/GradientFilter.html (2025年に更新).
CMS
Wolfram Language. 2008. "GradientFilter." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/GradientFilter.html.
APA
Wolfram Language. (2008). GradientFilter. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GradientFilter.html
BibTeX
@misc{reference.wolfram_2026_gradientfilter, author="Wolfram Research", title="{GradientFilter}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/GradientFilter.html}", note=[Accessed: 04-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_gradientfilter, organization={Wolfram Research}, title={GradientFilter}, year={2025}, url={https://reference.wolfram.com/language/ref/GradientFilter.html}, note=[Accessed: 04-November-2026]}