图像处理——提取梯度
1.图像的梯度——定义(百度百科) 根据图像梯度可以把图像看成二维离散函数f(x,y),图像梯度其实就是这个二维离散函数的求导(即f(x,y)的求导得G(x,y)): 图像梯度: G(x,y) = dx(i,j) + dy(i,j); dx(i,j) = I(i+1,j) - I(i,j); dy(i,j) = I(i,j+1) - I(i,j); 其中,I是图像像素的值(如:RGB值),(i,j)为像素的坐标。 图像梯度一般也可以用中值差分: dx(i,j) = [I(i+1,j) - I(i-1,j)]/2; dy(i,j) = [I(i,j+1) - I(i,j-1)]/2; 梯度的方向是图像函数f(x,y)变化最快的方向,当图像中存在边缘时,一定有较大的梯度值,相反,当图像中有比较平滑的部分时,灰度值变化较小,则相应的梯度也较小,图像处理中把梯度的模简称为梯度, 由图像梯度构成的图像成为梯度图像 。 2.图像梯度作用 a.通过图像的梯度提取边缘信息,可用于边缘检测; b.通过图像的梯度计算灰度变化情况,增强图像质量。 3.python3实现图像梯度提取 class Image_Gradent(): def __init__(self,image_name): self.img = image_name; #Sobel算子 def sobel_demo(self): grad