机器视觉入门之路(二六,像素的操作(梯度图像))
图像在buffer[]中,宽度为w,高度为h。
其中一个像素为buffer[i*w+j],0<=i<=h-1,0<=j<=w-1.
相邻两个像素做差,
Gx=math.abs(buffer[i*w+j]-buffer[i*w+j+1])
Gy=math.abs(buffer[i*w+j]-buffer[(i+1)*w+j])
像素buffer[i*w+j]的梯度幅值为=math.sqrt(Gx^2+Gy^2)
像素buffer[i*w+j]的梯度幅值简化为=Gx+Gy
像素buffer[i*w+j]的梯度角=math.arctan((buffer[i*w+j]-buffer[(i+1)*w+j])*1.0/(buffer[i*w+j]-buffer[i*w+j+1]))
好,我们对比原图(上)和梯度(幅值)图像(下):
代码很简单,自己尝试写,注意边界的处理。