图像在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]))

好,我们对比原图(上)和梯度(幅值)图像(下):

机器视觉入门之路(二六,像素的操作(梯度图像))机器视觉入门之路(二六,像素的操作(梯度图像))

代码很简单,自己尝试写,注意边界的处理。

相关文章:

  • 2021-04-14
  • 2021-04-02
  • 2021-05-30
  • 2021-04-09
  • 2021-09-25
  • 2021-07-02
  • 2021-07-20
  • 2022-01-18
猜你喜欢
  • 2021-09-07
  • 2022-01-08
  • 2021-06-13
  • 2022-01-11
  • 2021-08-28
  • 2021-05-29
  • 2021-07-16
相关资源
相似解决方案