Python语言不调用OpenCV函数实现Laplace算子锐化图像
编译环境
编程语言:Python
IDE:PyCharm2017
前言
锐化处理的主要目的是突出灰度的过渡部分。图像锐化的用途多种多样,应用范围从电子印刷和医学成像到工业检测和军事系统的制导等。由之前的博客了解到,图像模糊可通过在空间域用像素领域平均法实现。因为均值处理和积分类似,在逻辑上,我们可以得出锐化处理可由空间微分来实现这一结论。基本上,微分算子的响应强度与图像在用算子操作的这一点的突变成都成正比,这样图像微风会增强边缘和其他突变(如噪声),削弱灰度变换缓慢的区域。
离散Laplace滤波模板
不带对角项的滤波模板
w=
0 1 0
1 -4 1
0 1 0
带有对角项的扩展模板
w=
1 1 1
1 -8 1
1 1 1
Lpalace算子的数学定义
如果使用的模板中心系数为正时,c=1,如果中心系数为负时,c= -1
实例分析
下图是月球北极的一副略显模糊的图像,要对其进行空间锐化处理。
代码展示
import cv2
from pylab import *
import numpy as np
def Image_cal(Image,k): # Image是输入图像,k是标定图像灰度最大值
im=array(Image)
img=[]
fm=im-np.min(im)
maxfm=np.max(fm)
for i in range(im.shape[0]):
for j in range(im.shape[1]):
img[i,j]=k * (fm[i,j] / maxfm)
return img
def Laplace(Image,a): #输入图像Image,模板a
im=array(Image)
img=array(Image)
dim=math.sqrt(