图像处理——拉普拉斯算子(python代码)

2021/5/22 20:27:18

本文主要是介绍图像处理——拉普拉斯算子(python代码),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

拉普拉斯算子的定义

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

在这里插入图片描述

离散形式描述

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

滤波器模板描述

在这里插入图片描述

代码

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)

效果图

在这里插入图片描述



这篇关于图像处理——拉普拉斯算子(python代码)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程