作业2:拉普拉斯算子(laplacian)边缘检测与图像锐化
作业2:
使用拉普拉斯算子(Laplace Operator)进行边缘检测以及图片锐化。
原理:
拉普拉斯锐化图像是根据图像某个像素的周围像素到此像素的突变程度有关,也就是说它的依据是图像像素的变化程度。我们知道,一个函数的一阶微分描述了函数图像是朝哪里变化的,即增长或者降低;而二阶微分描述的则是图像变化的速度,急剧增长下降还是平缓的增长下降。那么据此我们可以猜测出依据二阶微分能够找到图像的色素的过渡程度,例如白色到黑色的过渡就是比较急剧的。
拉普拉斯4邻域卷积核:

拉普拉斯8邻域卷积核:

可以理解为:将中心像素灰度与相邻的边缘像素的平均灰度做对比,当中心像素的灰度低于相邻像素的平均灰度,当中心像素的灰度高于相邻像素的平均灰度,则认为此处是边缘。
拉普拉斯锐化则是将原图和边缘信息叠加,使边缘更加突出。即亮处越亮,暗处越暗,公式为:
sharpened_image = image + alpha * edges
alpha 控制锐化程度。alpha 较大时锐化效果更强,通常可以从 1 到 2 调节。
提示:
1、使用cv库读取图片,并将图片由BGR转化为RGB通道。
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
2、将图片转化为灰度。
3、将灰度图片与拉普拉斯算子进行卷积计算,可以使用for循环,也可以使用scipy.ndimage模块中的convolve函数(注意不是numpy模块中的convolve函数),可参考数字图像处理9.7.3。
4、将第三步得到的边缘图像与原图像相加,获得锐化图片。
提交作业命名格式为:班级+姓名+work2,例如:1班可达鸭,作业命名为:1班可达鸭work2.py
作业提交邮箱:
2班:58150789@qq.com
1班:1841569247@qq.com
参考答案notebook:https://www.kaggle.com/code/jeanshendev/work2-laplacian-edge-detection