数字图像处理 锐化滤波

在数学中, 微分是对函数的局部变化率的一种线性描述. 微分可以近似地描述当函数自变量的取值作足够小的改变时, 函数的值是怎样改变的. 最简单的各向同性微分算子是拉普拉斯算子. 一个二元图像函数 f(x,y) 的拉普拉斯变换定义为
∇ 2 f = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 ∇^2f=\frac{∂^2f}{∂x^2}+\frac{∂^2f}{∂y^2} 2f=x22f+y22f

为了更适合于图像处理, 这一方程必须表现为离散形式. 考虑到有两个变量, 因此, 我们在 x 方向上对二阶偏微分采用下列定义:
∂ 2 f ∂ x 2 = f ( x + 1 , y ) + f ( x − 1 , y ) − 2 f ( x , y ) \frac{∂^2f}{∂x^2}=f(x+1,y)+f(x-1,y)-2f(x,y) x22f=f(x+1,y)+f(x1,y)2f(x,y)

类似的, 在 y 方向上为
∂ 2 f ∂ y 2 = f ( x , y + 1 ) + f ( x , y − 1 ) − 2 f ( x , y ) \frac{∂^2f}{∂y^2}=f(x,y+1)+f(x,y-1)-2f(x,y) y22f=f(x,y+1)+f(x,y1)2f(x,y)

因此
∇ 2 f = f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) − 4 f ( x , y ) ∇^2f=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y) 2f=f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)4f(x,y)

因此,执行这一新定义的掩膜如下:
在这里插入图片描述
由于拉普拉斯算子是一种微分算子, 它的应用强调图像中灰度的突变和降低灰度慢变化的区域. 这将产生一幅把图像中的浅灰色边线和突变点叠加到暗背景中的图像. 将原始图像和拉普拉斯图像叠加在一起的简单方法可以保护拉普拉斯锐化后的效果, 同时又能复原背景信息.

常见拉普拉斯算子有
在这里插入图片描述
使用拉普拉斯算子对图像进行增强的基本表示方法如下
在这里插入图片描述
在机理中, 我们首先使用拉普拉斯算子过滤图像, 然后, 从原图像中减去该图像。
g ( x , y ) = 5 f ( x , y ) − [ f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) ] g(x,y)=5f(x,y)-[f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)] g(x,y)=5f(x,y)[f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)]

import numpy as np
import scipy.signal
import cv2

def convert_2d(r):
    kernel = np.array([
        [0,-1,0],
        [-1,5,-1],
        [0,-1,0]
    ])
    s = scipy.signal.convolve2d(r,kernel,mode='same',boundary='symm')
    for i in range(s.shape[0]):
        for j in range(s.shape[1]):
            s[i][j] = min(max(0,s[i][j]),255)
    s = s.astype(np.uint8)
    return s

def convert_3d(r):
    s_dsplit= []
    for d in range(r.shape[2]):
        rr = r[:,:,d]
        ss = convert_2d(rr)
        s_dsplit.append(ss)
    s = np.dstack(s_dsplit)
    return s

im = cv2.imread('tetet.jpg')
im_convert_mat = convert_3d(im)
cv2.imshow('ruihua',im_convert_mat)
cv2.imwrite('ruihua.jpg',im_convert_mat)
cv2.waitKey()

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值