用prewitt算子计算梯度
Calculating gradient with prewitt operator
我是新手,正在尝试了解它。
我在 Google 上搜索了各种链接,但有一些关于
如果你能告诉我如何对梯度进行计算,我会很高兴但是通过计算 prewitt 运算符。
例如:
你有图像 5X5 -> I(x,y) = |4-i-j|;
我,j = 0..4;
如何使用 prewitt 运算符(Gx 和 Gy)进行计算??
使用称为 convolution 的数学运算对图像执行梯度计算。下面给出f
和g
两个矩阵的卷积公式
在伪代码中,算法为:
let f be the prewitt (convolution) operator
let g be the image
let h be the convolution result
for x from 1 to height of h
for y from 1 to width of h
h[x,y] = 0;
for n1 from top to bottom of f
for n2 from left to right of f
h[x,y] += f[n1,n2]*g[x-n1,y-n2]
一些languages/libraries为您实现卷积。
- MATLAB 语言内置了
conv2
- Python库numpy作为函数
numpy.convolve
python 的流行 scipy
包有一个内置函数 prewitt
用于准确计算您描述的内容:
我是新手,正在尝试了解它。
我在 Google 上搜索了各种链接,但有一些关于 如果你能告诉我如何对梯度进行计算,我会很高兴但是通过计算 prewitt 运算符。
例如:
你有图像 5X5 -> I(x,y) = |4-i-j|;
我,j = 0..4;
如何使用 prewitt 运算符(Gx 和 Gy)进行计算??
使用称为 convolution 的数学运算对图像执行梯度计算。下面给出f
和g
两个矩阵的卷积公式
在伪代码中,算法为:
let f be the prewitt (convolution) operator
let g be the image
let h be the convolution result
for x from 1 to height of h
for y from 1 to width of h
h[x,y] = 0;
for n1 from top to bottom of f
for n2 from left to right of f
h[x,y] += f[n1,n2]*g[x-n1,y-n2]
一些languages/libraries为您实现卷积。
- MATLAB 语言内置了
conv2
- Python库numpy作为函数
numpy.convolve
python 的流行 scipy
包有一个内置函数 prewitt
用于准确计算您描述的内容: