二阶微分锐化图像–拉普拉斯算子

拉普拉斯算子的定义

着重于图像中的灰度突变区域,而非灰度级缓慢变化的区域,会产生暗色背景中叠加有浅辉边界线和突变点(轮廓)。
原图加拉普拉斯算子计算后的图像可以使图像锐化。

在这里插入图片描述

离散形式描述

在这里插入图片描述
在这里插入图片描述

滤波器模板描述

在这里插入图片描述

代码

import numpy as np
from PIL import Image
import cv2

imgfile = "Gakki.jpg"
OriginalPic = np.array(Image.open(imgfile).convert('L'), dtype=np.uint8)
img = np.zeros((OriginalPic.shape[0]+2, OriginalPic.shape[1]+2), np.uint8)

#########  制造遍历图像  ###################
for i in range(1, img.shape[0]-1):
    for j in range(1, img.shape[1]-1):
        img[i][j] = OriginalPic[i-1][j-1]

LaplacePic = np.zeros((OriginalPic.shape[0], OriginalPic.shape[1]), dtype=np.uint8)
kernel = [[0, 1, 0], [1, -4, 1], [0, 1, 0]]
for i in range(0, LaplacePic.shape[0]):
    for j in range(0, LaplacePic.shape[1]):
        LaplacePic[i][j] = abs(np.sum(np.multiply(kernel, img[i:i+3, j:j+3])))

cv2.imshow("Original", OriginalPic)
cv2.imshow("Laplace", LaplacePic)
cv2.waitKey(0)

效果图

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐