数字图像处理-空间域处理-空间滤波-锐化空间滤波器

参考自:数字图像处理第三版-冈萨勒斯

锐化处理的主要目的是突出灰度的过渡部分。增强边缘和其他突变(噪声),削弱灰度变化缓慢的区域。

注意:垂直方向是x,水平方向是y

基础

图像模糊可用均值平滑实现。因均值处理与积分类似,在逻辑上,我们可以得出锐化处理可由空间微分来实现。微分算子的响应强度与图像的突变程度成正比,这样,图像微分增强边缘和其他突变,而削弱灰度变化缓慢的区域。

微分算子必须保证以下几点:(1)在恒定灰度区域的微分值为0;(2)在灰度台阶或斜坡处微分值非0;(3)沿着斜坡的微分值非0

一维函数f(x)的一阶微分定义:

        二阶微分定义:

对于二维图像函数f(x,y)是一样的,只不过我们将沿着两个空间轴处理偏微分。

数字图像的边缘在灰度上常常类似于斜坡过渡,这样就导致图像的一阶微分产生较粗的边缘。因为沿着斜坡的微分非0。另一方面,二阶微分产生由0分开的一个像素宽的双边缘。由此我们得出结论,二阶微分在增前细节方面比一阶微分好得多。

二阶微分-拉普拉斯算子

我们要的是一个各向同性滤波器,这种滤波器的响应与滤波器作用的图像的突变方向无关。也就是说,各向同性滤波器是旋转不变的,即将原图像旋转后进行滤波处理的结果和先对图像滤波然后再旋转的结果相同。

最简单的各向同性微分算子,即拉普拉斯算子

一个二维图像函数f(x,y)的拉普拉斯算子定义为:

任意阶微分都是线性操作,所以拉普拉斯变换也是一个线性算子。于是:

对应的滤波模板为下图a,这是一个旋转90°的各向同性模板,另外还有对角线方向45°的各向同性模板,还有其他两个常见的拉普拉斯模板。a、b与c、d的区别是符号的差别,效果是等效的

拉普拉斯是一种微分算子,因此它强调的是图像中灰度的突变。将原图像和拉普拉斯图像叠加,可以复原背景特性并保持拉普拉斯锐化处理的效果。如果模板的中心系数为负,那么必须将原图像减去拉普拉斯变换后的图像,从而得到锐化效果。所以,拉普拉斯对图像增强的基本方法可表示为下式:

其中,f(x,y)和g(x,y)分别是输入图像和锐化后的图像,如果使用a、b滤波模板则c=-1,如果使用另外两个,则c=1

 1 "空间滤波-锐化-拉普拉斯算子"
 2 import numpy as np
 3 import cv2
 4
 5
 6 # 定义函数,实现拉普拉斯算子
 7 def Laplace(src):
 8     template = np.ones((3, 3), dtype=np.float32)  # 模板
 9     template[1, 1] = -8.0
10     addBorderImg = cv2.copyMakeBorder(src, 1, 1, 1, 1, cv2.BORDER_REFLECT_101)  #扩充边界
11     row, col = src.shape
12     dst = np.zeros((row, col), dtype=np.int16)
13     for i in range(row):
14         for j in range(col):
15             temp = addBorderImg[i:i+3, j:j+3]
16             dst[i, j] = np.sum(template*temp)
17     return dst
18
19
20 inputImg = cv2.imread(r‘F:\program_study\Python\data\Fig0217(a).tif‘, cv2.IMREAD_GRAYSCALE)
21 cv2.imshow(‘input‘, inputImg)
22
23 laplaceImg = Laplace(inputImg)  # 拉普拉斯滤波后的图像
24 laplaceImg1 = laplaceImg
25 laplaceImg1[laplaceImg1 < 0] = 0
26 laplaceImg1 = np.uint8(laplaceImg1)
27 cv2.imshow(‘laplace‘, laplaceImg1)
28
29 outputImg = np.zeros(inputImg.shape, dtype=np.float32)  # 锐化图像
30 outputImg = inputImg - laplaceImg
31 outputImg[outputImg < 0] = 0
32 outputImg[outputImg > 255] = 255
33 outputImg = np.uint8(outputImg)
34 cv2.namedWindow(‘output‘, cv2.WINDOW_NORMAL)
35 cv2.imshow(‘output‘, outputImg)
36
37 cv2.waitKey(0)
38 cv2.destroyAllWindows()

拉普拉斯算子

非锐化掩蔽和高提升滤波

处理过程:

1、平滑原图像

2、原图像减去1得到的平滑图像(得到的差值图像称为模板)

3、将模板加到原图像上

过程2,为平滑图像

过程3

k为权重系数,k=1是非锐化掩蔽;k>1是高提升滤波;k<1则不强调非锐化模板的贡献

一阶微分-梯度

函数f(x, y)在(x,y)出的梯度定义为一个二维列向量它指出了函数在(x,y)处的最大变化率方向

向量的幅度值(长度)表示为M(x, y),即

它是最大变化率在(x,y)处的值,M(x,y)是与原图像大小相同的图像,通常称为梯度图像

在某些时候,用绝对值近似计算幅度值:

  计算一阶微分

  1、Roberts交叉梯度算子[1965]  

  gx = (z9 - z5)   和   gy = (z8 - z6)

  

  2、Sobel算子

  gx = (z7 + 2z8 + z9) - (z1 + 2z2 + z3)

  gy = (z3 + 2z6 + z9) - (z1 + 2z4 + z7)

  

  用模板计算出一阶微分后,再根据3.6-11或3.6-12计算梯度图像M(x, y)

原文地址:https://www.cnblogs.com/laumians-notes/p/8708058.html

时间: 2024-11-06 23:57:28

数字图像处理-空间域处理-空间滤波-锐化空间滤波器的相关文章

数字图像处理- 3.6 锐化空间滤波器

Reference Link : http://blog.csdn.net/xz_rabbit/article/details/17999315 Reference Link : http://www.cnblogs.com/salan668/p/3560197.html 3.6 锐化空间滤波器 锐化处理的主要目的是突出图像中的细节或者增强被模糊了的细节,这种模糊不是由于错误操作,就是特殊图像获取方法的固有印象.总的来说,微分算子的响应强度与图像在该店(应用了算子)的突变程度有关.这样一来,图像

Matlab图像处理系列2———空间域平滑滤波器

注:本系列来自于图像处理课程实验,用Matlab实现最基本的图像处理算法 本文章是Matlab图像处理系列的第二篇文章,介绍了空间域图像处理最基本的概念----模版和滤波器,给出了均值滤波起和中值滤波器的Matlab实现,最后简要讨论去躁效果. 1.空间域增强 (1)模版运算 图像处理中,模版可以看作是n*n(n一般是奇数)的窗口,模版连续地运动于整个图像中,对模版窗口范围内的像素做相应处理. 模版运算主要分为: 模版卷积 模版排序 模版卷积是把模版内像素的灰度值和模版中对应的灰度值相乘,求平均

【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放详解

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图片空间几何变换,包括图像平移.图形旋转.图像反转倒置镜像和图像缩放的知识.同时文章比较详细基础,没有采用GDI+获取矩阵,而是通过读取BMP图片信息头和矩阵像素实现变换,希望该篇文章对你有所帮助,尤其是初学者和学习图像处理的学生. [数字图像处理]一.MFC详解显示BMP格式图片 [数字图像处理]二.MFC单文档分割窗口显示图片 [数字图像处

图像增强之空间域锐化

1.图像锐化理论 图像锐化的目的是使图像变得清晰起来,锐化主要用于增强图像的灰度跳变部分,这一点与图像平滑对灰度跳变的抑制正好相反.锐化提高图像的高频分量,增加灰度反差增强图像的边缘和轮廓,以便后期图像识别. 在图像增强过程中,常用平滑算法来消除噪声,平滑属于低通滤波,图像的能量主要集中在低频部分,噪声所在频段主要在高频部分,同时图像的边缘也集中在高频部分,这意味着图像平滑后,高频被衰减轮廓会出现模糊.图像锐化就是为了减少这种现象,通过高通滤波使图像边缘和轮廓变得清晰. 2.一阶微分图像增强--

哈工大深研院数字图像处理第二次大作业:水果自动识别(2)HSV空间聚类及SIFT算法目标识别

老规矩,直接贴报告~ Programe list: Programe was developed in the condition of Windows aswell as Linux server, programming language is Matlab (www.mathworks.com). Classify.m, Kmeans.m: function for K-means clustering. main_Kmeans.m: main function for K-means c

数字图像处理学习笔记之二 灰度变换与空间滤波

综述 对于图像的处理有两种思路,一种是对图像本身的直接处理,即空间域处理:另一种是在频率域进行处理.关于空域和频域,可以参考<傅里叶变换--另一种世界观>.在空间域的处理相对简单,因此首先介绍的是空域处理法.空域中有两种重要处理方法:灰度变换(或亮度变换)和空间滤波(或邻域处理.空间卷积). 空间域处理:灰度变换和空间滤波 g(x,y)=T[ f(x,y) ] 空域处理的思路可以由上式表达.f 即是原图,T 是在点(x,y)指定邻域上的图像处理算子,g 是输出图像.当邻域为1*1大小时,T 为

数字图像处理的Matlab实现(3)—灰度变换与空间滤波

第3章 灰度变换与空间滤波(1) 3.1 简介 空间域指的是图像平面本身,这类方法是以对图像像素直接处理为基础的.本章主要讨论两种空间域处理方法:亮度(灰度)变换与空间滤波.后一种方法有时涉及到邻域处理或空间卷积. 本章讨论的空间域处理由下列表达式表示: \[g(x,y)=T[f(x,y)]\] 其中,\(f(x,y)\)为输入图像,\(g(x,y)\)为输出图像, \(T\)是对图像\(f\)的算子,作用于点\((x,y)\)定义的邻域.此外,\(T\)还可以对一组图像进行处理,例如为了降低噪

【数字图像处理】七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解

本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行讲解,主要通过MFC单文档视图实现显示BMP图像增强处理,包括图像普通平滑.高斯平滑.不同算子的图像锐化知识.希望该篇文章对你有所帮助,尤其是初学者和学习图像处理的学生. [数字图像处理]一.MFC详解显示BMP格式图片 [数字图像处理]二.MFC单文档分割窗口显示图片 [数字图像处理]三.MFC实现图像灰度.采样和量化功能详解 [数字图像处理]四.MFC对话框绘制灰度直方图 [数字图像

空间域平滑滤波器

原文:https://www.cnblogs.com/zfyouxi/p/5144068.html 1.空间域增强 (1)模版运算 图像处理中.模版能够看作是n*n(n通常是奇数)的窗体.模版连续地运动于整个图像中,对模版窗体范围内的像素做相应处理. 模版运算主要分为: 模版卷积 模版排序 模版卷积是把模版内像素的灰度值和模版中相应的灰度值相乘,求平均值赋给当前模版窗体的中心像素.作为它的灰度值: 模版排序是把模版内像素的灰度值排序,取某个顺序统计量作为模版中心像素灰度值. Matlab中做模版