图像边缘提取算子用在锐化
锐化就是将边缘凸显出来
图像模糊算子用在去噪


算子

  • prewitt
  • Roberts算子
  • sobel,scharr
  • Laplacian LoG算子
  • 将二阶导数化为二阶差分,将二阶差分化为卷积核(掩模)
  • canny算子


prewitt

java JAI的拉普拉斯算法提高清晰度_差分


java JAI的拉普拉斯算法提高清晰度_像素点_02


从图中可以看到,prewitt算子对于像素点连续的区域通过卷积后趋近于黑色,对于不连续的区域,也就是梯度较大的区域则卷积后距离黑色较远,则和黑色区别开来,又梯度较大,所以是边缘,边缘被检测出来了。

java JAI的拉普拉斯算法提高清晰度_像素点_03


通过俩个卷积核分别与原图像进行卷积操作,可以将原图像的梯度方向计算出来,横卷积核计算后代表在x轴上的分量,纵卷积核计算后代表在y轴上的分量,计算的符号代表方向。

java JAI的拉普拉斯算法提高清晰度_像素点_04


实际边缘检测时候,先检测横,再检测竖,然后再通过√Gx^2+Gy^2合成,或者|Gx|+|Gy|

Roberts算子

java JAI的拉普拉斯算法提高清晰度_差分_05

sobel,scharr

java JAI的拉普拉斯算法提高清晰度_差分_06


java JAI的拉普拉斯算法提高清晰度_像素点_07

Laplacian LoG算子

java JAI的拉普拉斯算法提高清晰度_卷积核_08


拉普拉斯算子利用边缘所在地二阶偏导数为0的性质,检测边缘。

java JAI的拉普拉斯算法提高清晰度_差分_09

将二阶导数化为二阶差分,将二阶差分化为卷积核(掩模)

二阶偏导等于0意味着,一阶偏导最大,意味着是边缘,但是为什么实际计算时候,等于0的时候反倒不是边缘。

java JAI的拉普拉斯算法提高清晰度_卷积核_10


java JAI的拉普拉斯算法提高清晰度_卷积核_11

java JAI的拉普拉斯算法提高清晰度_差分_12

canny算子

java JAI的拉普拉斯算法提高清晰度_像素点_13


第三步非极大值抑制,是通过梯度正方向或者反方向最大的像素点保留原值,其余的在该方向上的像素点计为0(在一个局部内)来达到细化边缘的效果。