• 首先要知道梯度是个什么概念,在数学中我们知道梯度是一个向量,函数在一点的梯度在数学上它是这么定义的:它的... 梯度经常应用在图像的边缘检测和边缘增强上面,这和它的一阶微分性质有关。  梯度赋值具有旋转

         首先要知道梯度是个什么概念,在数学中我们知道梯度是一个向量,函数在一点的梯度在数学上它是这么定义的:它的方向是函数在这点的方向导数取得最大值的方向,它的模就等于方向导数的最大值。


       梯度经常用robert交叉微分算子,Prewitt微分算子,sobel算子来实现。


       梯度经常应用在图像的边缘检测和边缘增强上面,这和它的一阶微分性质有关。


       梯度赋值具有旋转不变性。


       下面实现一个sobel实现边缘检测:

    close all;clear all;clc;
    %input = [1 1 1 1 1; 1 1 1 1 2 ;1 1 1 1 1 ];
    input = imread('lena.bmp');
    % mask = 1 / 16 * [1 2 1; 2 4 2; 1 2 1];  % 考虑3*3的滤波模板
    mask = [1 2 1;0 0 0 ;-1 -2 -1]; % sobel算法(注意需要求两个边缘)
    
    % 使用库函数实现(在对sobel求取边缘的时候貌似也得分别求水平和垂直边缘)
    img_h = imfilter(double(input), mask, 'conv', 0, 'full');     %求竖边缘
    img_w = imfilter(double(input), mask','conv', 0, 'full');     %求横边缘
    output1 = sqrt(img_w.^2 + img_h.^2);        % 注意这里不是简单的求平均,而是平方和在开方
    
    % 下面自己实现
    [m, n] = size(input);
    % 先填充输入图像,这里依旧通过0来填充外边界
    input_temp = zeros(m + 4, n + 4);
    
    % 初始化输入图像
    input_temp(3: m + 3 - 1, 3: n + 3 - 1) = input;
    
    % 让模板滑过扩展的输入向量
    xx = size(input_temp, 1) - 3 + 1;
    yy = size(input_temp, 2) - 3 + 1;
    output = zeros(xx,yy);
    
    for i = 1: xx
        for j = 1: yy
            output(i, j) = sum( sum( input_temp(i: i + 3 - 1 , j : j + 3 - 1) .* mask ) ) ;    % 求竖边缘
        end
    end
    for i = 1: xx
        for j = 1: yy
            %注意这里不是简单的求平均,而是平方和在开方。
            output(i, j) = sqrt( output(i,j)^2 + sum( sum( input_temp(i: i + 3 - 1 , j : j + 3 - 1) .* mask' ) )^2 ); % 求横边缘
        end
    end
    fprintf('调用库函数imfilter完成相关运算');
    % output1
    % output
    subplot(131);imshow( uint8(input) );  title('原图像');
    subplot(132);imshow( uint8(output1) );title('调用库函数实现sobel边缘检测');
    subplot(133);imshow( uint8(output) ); title('自己实现sobel边缘检测');
    
    % 看自己的滤波函数是否有问题
    equal = sum(sum(output1 ~= output))   % equal = 0 表示处理后的结果一样

    运行结果图:


    调用库函数imfilter完成相关运算
    equal =
    
           0    

    equal等于0,表明自己实现的均值滤波和库函数得到同样的结果。


    ok,搞定!!!!



    展开全文
  • 前面我们提到,当用均值滤波器降低图像噪声的时候,会带来图像模糊的副作用。我们当然希望看到的是清晰图像。那么,清晰图像和模糊图像之间的差别在哪里呢?从逻辑上考虑,图像模糊是因为图像中物体的轮廓不明显,...

    前面我们提到,当用均值滤波器降低图像噪声的时候,会带来图像模糊的副作用。我们当然希望看到的是清晰图像。那么,清晰图像和模糊图像之间的差别在哪里呢?从逻辑上考虑,图像模糊是因为图像中物体的轮廓不明显,轮廓边缘灰度变化不强烈,层次感不强造成的,那么反过来考虑,轮廓边缘灰度变化明显些,层次感强些是不是图像就更清晰些呢。

    那么,这种灰度变化明显不明显怎样去定义呢。我们学过微积分,知道微分就是求函数的变化率,即导数(梯度),那么对于图像来说,可不可以用微分来表示图像灰度的变化率呢,当然是可以的,前面我们提到过,图像就是函数嘛。

    在微积分中,一维函数的一阶微分的基本定义是这样的:
    dfdx=limϵ0f(x+ϵ)f(x)ϵ \frac{df}{dx}=\lim_{\epsilon\rightarrow 0 }{\frac{f(x+\epsilon )-f(x)}{\epsilon }}

    而图像是一个二维函数f(x,y)f(x,y),其微分当然就是偏微分。因此有:
    f(x,y)x=limϵ0f(x+ϵ,y)f(x,y)ϵ\frac{\partial f(x,y)}{\partial x}=\lim_{\epsilon\rightarrow 0}{\frac{f(x+\epsilon,y )-f(x,y)}{\epsilon }} f(x,y)y=limϵ0f(x,y+ϵ)f(x,y)ϵ \frac{\partial f(x,y)}{\partial y}=\lim_{\epsilon\rightarrow 0}{\frac{f(x,y+\epsilon)-f(x,y)}{\epsilon }}

    因为图像是一个离散的二维函数,ϵ\epsilon不能无限小,我们的图像是按照像素来离散的,最小的ϵ\epsilon就是1像素。因此,上面的图像微分又变成了如下的形式ϵ=1(\epsilon=1)
    f(x,y)x=f(x+1,y)f(x,y)=gx \frac{\partial f(x,y)}{\partial x}=f(x+1,y)-f(x,y)=gx f(x,y)y=f(x,y+1)f(x,y)=gy \frac{\partial f(x,y)}{\partial y}=f(x,y+1)-f(x,y)=gy

    这分别是图像在(x, y)点处x方向和y方向上的梯度,从上面的表达式可以看出来,图像的梯度相当于2个相邻像素之间的差值。

    那么,这个梯度(或者说灰度值的变化率)如何增强图像的清晰度呢?

    我们先考虑下x方向,选取某个像素,假设其像素值是100,沿x方向的相邻像素分别是90,90,90,则根据上面的计算其x方向梯度分别是10,0,0。这里只取变化率的绝对值,表明变化的大小即可。

    在这里插入图片描述

    我们看到,100和90之间亮度相差10,并不是很明显,与一大群90的连续灰度值在一起,轮廓必然是模糊的。我们注意到,如果相邻像素灰度值有变化,那么梯度就有值,如果相邻像素灰度值没有变化,那么梯度就为0。如果我们把梯度值与对应的像素相加,那么灰度值没有变化的,像素值不变,而有梯度值的,灰度值变大了。

    在这里插入图片描述
    我们看到,相加后的新图像,原图像像素点100与90亮度只相差10,现在是110与90,亮度相差20了,对比度显然增强了,尤其是图像中物体的轮廓和边缘,与背景大大加强了区别,这就是用梯度来增强图像的原理。

    上面只是说了x方向,y方向是一样的。那么能否将x方向和y方向的梯度结合起来呢?当然是可以的。x方向和y方向上的梯度可以用如下式子表示在一起:
    M(x,y)=(gx)2+(gy)2 M(x,y)=\sqrt{(gx)^{2}+(gy)^{2}}

    我们来计算一下月球图像的x方向和y方向结合的梯度图像,以及最后的增强图像。(原图像来自冈萨雷斯的《数字图像处理》一书。)

    import cv2
    import numpy as np
    
    moon = cv2.imread("moon.tif", 0)
    row, column = moon.shape
    moon_f = np.copy(moon)
    moon_f = moon_f.astype("float")
    
    gradient = np.zeros((row, column))
    
    for x in range(row - 1):
        for y in range(column - 1):
            gx = abs(moon_f[x + 1, y] - moon_f[x, y])
            gy = abs(moon_f[x, y + 1] - moon_f[x, y])
            gradient[x, y] = gx + gy
    
    sharp = moon_f + gradient
    sharp = np.where(sharp < 0, 0, np.where(sharp > 255, 255, sharp))
    
    gradient = gradient.astype("uint8")
    sharp = sharp.astype("uint8")
    cv2.imshow("moon", moon)
    cv2.imshow("gradient", gradient)
    cv2.imshow("sharp", sharp)
    cv2.waitKey()
    

    在这里插入图片描述

    转载自:https://blog.csdn.net/saltriver/article/details/78987096

    展开全文
  • 前面我们介绍过图像梯度,其定义是根据微积分的定义在二维离散函数中推导出来的。但是,我们需要理解,梯度只是一个工具,方法,核心目的是得到像素点与其相邻像素的灰度值变化情况,并通过这种变化来增强图像。...

    前面我们介绍过图像的梯度,其定义是根据微积分的定义在二维离散函数中推导出来的。但是,我们需要理解,梯度只是一个工具,方法,核心目的是得到像素点与其相邻像素的灰度值变化情况,并通过这种变化来增强图像。这种原始定义的梯度只是这种灰度值变化情况的度量工具。

    我们再回顾一下,假设某像素与其8领域用如下矩阵表示:
    这里写图片描述

    那么,根据图像梯度的定义:
    gx = z8 - z5
    gy = z6 - z5
    上面提到,这种原始定义的梯度只是这种灰度值变化情况的度量工具,这种度量工具只有这一种吗?显然不是的!
    z9-z5算不算灰度值的变化?z1-z5呢?z7-z5呢?z4-z5呢?z3-z5呢?

    我们利用梯度的本质目的,是要找到某像素与其相邻像素的灰度差值,并放大这种差值,从而用于图像增强。而原始定义的梯度计算方法只是灰度差值计算方法中的一种,还可以有其它计算方法来度量这种变化。

    为简化起见,我们把这些计算方法统称为梯度算子。根据不同的相邻像素差值计算得到的效果可能有所不同,但基本原理是一致的。

    例如罗伯特(Roberts)交叉梯度算子,定义的是:
    gx = z9-z5
    gy = z8-z6
    为什么名字中有“交叉”,看看下图就知道了。

    这里写图片描述

    我们可以看到,不管是原始梯度也好,Roberts算子也好,都只是利用了z5,z6,z8,z9的像素值,那么可不可以扩展到8领域呢,当然是可以的。

    例如,你可以自己定义一个:
    gx = (z7+z8+z9)-(z1+z2+z3)
    gy = (z3+z6+z9)-(z1+z4+z7)

    这里写图片描述

    事实上,这个你自定义的算子和著名的Sobel算子非常接近了,只是Sobel算子增加了距离权重而已。Sobel算子的定义如下(与中心点Z5更近的点Z3,Z4,Z6,Z8的权重为2,其它对角线上的权重为1):
    gx = (z7+2*z8+z9)-(z1+2*z2+z3)
    gy = (z3+2*z6+z9)-(z1+2*z4+z7)

    关于Sobel算子后面还会再重点介绍,下面用Roberts交叉算子来看看图像增强的效果。

    
    import cv2
    import numpy as np
    
    moon = cv2.imread("moon.tif", 0)
    row, column = moon.shape
    moon_f = np.copy(moon)
    moon_f = moon_f.astype("float")
    
    Roberts = np.zeros((row, column))
    
    for x in range(row - 1):
        for y in range(column - 1):
            gx = abs(moon_f[x + 1, y + 1] - moon_f[x, y])
            gy = abs(moon_f[x + 1, y] - moon_f[x, y + 1])
            Roberts[x, y] = gx + gy
    
    sharp = moon_f + Roberts
    sharp = np.where(sharp < 0, 0, np.where(sharp > 255, 255, sharp))
    sharp = sharp.astype("uint8")
    
    cv2.imshow("moon", moon)
    cv2.imshow("Roberts_sharp", sharp)
    cv2.waitKey()
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    输出结果:

    这里写图片描述

    再看看用上面自定义算子的情况:
    user_defined = np.zeros((row, column))
    
    for x in range(1, row - 1):
        for y in range(1, column - 1):
            gx = abs((moon_f[x + 1, y - 1] + moon_f[x + 1, y] + moon_f[x + 1, y + 1]) - (
                moon_f[x - 1, y - 1] + moon_f[x - 1, y] + moon_f[x - 1, y + 1]))
            gy = abs((moon_f[x - 1, y + 1] + moon_f[x, y + 1] + moon_f[x + 1, y + 1]) - (
                moon_f[x - 1, y - 1] + moon_f[x, y - 1] + moon_f[x + 1, y - 1]))
    
            user_defined[x, y] = gx + gy
    
    sharp = moon_f + user_defined
    sharp = np.where(sharp < 0, 0, np.where(sharp > 255, 255, sharp))
    sharp = sharp.astype("uint8")
    
    cv2.imshow("moon", moon)
    cv2.imshow("defined_sharp", sharp)
    cv2.waitKey()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    输出结果:
    这里写图片描述

    转载自:https://blog.csdn.net/saltriver/article/details/78987170

    展开全文
  • 图像处理中的梯度

    2017-08-19 14:19:50
    由于图像在计算机中以数字图像的形式进行 存储, 即图像是离散的数字信号, 对数字图像梯度使用差分来代替连续信号中 的微分。 由于图像在计算机中以数字图像的形式进行 存储, 即图像是离散的数字信号, ...

    由于图像在计算机中以数字图像的形式进行

    存储,

    即图像是离散的数字信号,

    对数字图像的梯度使用差分来代替连续信号中

    的微分。

    由于图像在计算机中以数字图像的形式进行

    存储,

    即图像是离散的数字信号,

    对数字图像的梯度使用差分来代替连续信号中

    的微分。

    由于图像在计算机中以数字图像的形式进行

    存储,

    即图像是离散的数字信号,

    对数字图像的梯度使用差分来代替连续信号中

    的微分。

    由于图像在计算机中以数字图像的形式进行存储,即图像是离散的数字信号,对数字图像的梯度使用差分来代替连续信号中的微分。

    向量的方向:若A(x1,y1),B(x2,y2),则AB(A起点-> B终点)所在直线的一个方向向量为

      
    =(x2-x1,y2-y1) = B- A,向量的方向是指向被减向量B

    差分时,梯度的方向可由此判断

    图像梯度: G(x,y) = dx i + dy j; 
    dx(i,j) = I(i+1,j) - I(i,j); 
    dy(i,j) = I(i,j+1) - I(i,j); 

    其中,I是图像像素的值(如:RGB值),(i,j)为像素的坐标。

    图像梯度一般也可以用中值差分: 
    dx(i,j) = [I(i+1,j) - I(i-1,j)]/2; 
    dy(i,j) = [I(i,j+1) - I(i,j-1)]/2; 

    常见的图像梯度模板有以下几种:

    常见的图像梯度模板有以下几种:

    以上为其对应的梯度模板,在Matlab中图像分别与fx[1 0;0 -1]和fy
    [0 1; -1 0]卷积即可分别求出沿x和沿y方向的梯度。

    Roberts利用对角方向,两像素之差,所以用差分代替一阶偏导

    卷积:

    1)将核(模板)围绕中心旋转180度

    2)滑动核,使其中心位于输入图像g的(i,j)像素上

    3)利用上式求和,得到输出图像的(i,j)像素值

    4)充分上面操纵,直到求出输出图像的所有像素值


    展开全文
  • 数字图像处理数字图像处理 一学习内容总结 第一章 绪论 1 什么是数字图像处理 2 使用数字图像处理领域的实例 3 数字图像处理的基本步骤 4 图像处理系统的组成 第二章 数字图像处理基础 1 视觉感知要素 2 光和电磁...

    数字图像处理


    一、学习内容总结

    1. 第一章 绪论

    本章主要有几个目的:

    1. 定义我们称之为数字图像处理领域的范围;
    2. 通过考察几个领域,给出图像处理技术状况的概念;
    3. 讨论图像处理用到的几种方法;
    4. 概述通用目的的典型图像处理系统的组成。

    1.1 什么是数字图像处理

    我们给出一些定义:

    • 强度灰度:一幅图像可以被定义为一个二维函数 f(x,y),其中 x,y 是空间(平面)坐标,而在任何一处的幅值 f 被称为在该点的灰度或强度。
    • 数字图像:当 x,y 或灰度值 f有限的离散数值时,称该图像为数字图像。也就是说数字图像是由有限数量的元素组成,每个元素都有特定的位置和幅值。这些元素被称为图画元素图像元素像素
    • 数字图像处理 : 指用特定的计算机来处理数字图像。

    本书中将数字图像处理界定为其输入和输出都是图像的处理。

    1.2 使用数字图像处理领域的实例

    • 伽马射线成像:医学和天文。
    • X射线成像:最早用于成像的电磁辐射源之一,医学诊断。
    • 紫外波段成像 :荧光显微镜。
    • 可见光及红外线成像 :可见显微镜技术,遥感,天气预测和预报,红外卫星图像,自动视觉检测,检测丢失的部件,指纹图像。
    • 微波波段成像 :雷达。
    • 无线电波段成像 :天文学和医学(核磁共振)。
    • 其他方式 :声波成像,电子显微镜方法,(由计算机产生的)合成图像。

    1.3 数字图像处理的基本步骤

    这里写图片描述

    1.4 图像处理系统的组成

    这里写图片描述

    2. 第二章 数字图像处理基础

    本章主要介绍数字图像处理一些基本概念

    2.1 视觉感知要素

    • 人眼的结构

      重点介绍视网膜里的两类光感受器

      • 锥状体 :对颜色高度敏感,这种视觉称为白昼视觉或者亮视觉。高照明水平下执行。
      • 杆状体 :没有彩色感觉,对低照明度敏感,称为暗视觉或微光视觉。低照明水平下执行。
    • 亮度适应与辨别

      • 亮度适应现象 :视觉系统不能同时在一个范围内工作,它是通过改变其整个灵敏度来完成这一较大变动的。
      • 韦伯比 :较大:亮度辨别能力较差;反之,较好。
    • 感知亮度 不是简单的强度的函数

      • 视觉系统往往会在不同强度区域的边界处出现“下冲”或“上冲”现象。
      • 同时对比、错觉

    2.2 光和电磁波谱

    • 电磁波是能量的一种,任何有能量的物体都会释放电磁波谱。它可以用 波长 (λ)、频率(v)或能量(E) 来描述,其中

    λ=c/v

    E=hv

    • 光是一种特殊的电磁辐射,可以被人眼感知。
      • 单色光 是没有颜色的光,也成为无色光。唯一属性就是它的强度或者大小,用 灰度级 来表示。单色图像常被称为 灰度图像
      • 彩色光源 的质量可以用发光强度、光通量和亮度 来表示。

    2.3 图像感知和获取

    • 图像获取方式

      • 使用单个传感器来获取图像
      • 使用条带传感器获取图像
      • 使用传感器阵列获取图像
    • 简单的图像形成模型

      用形如 f(x,y) 的二维函数来表示图像,那么:

      0<f(x,y)<

      f(x,y) 可以用两个分量来表征:

      • 入射分量 入射到被观察场景的光源照射总量,用i(x,y) 表示;
      • 反射分量 场景中物体所反射的光照总量,用r(x,y) 表示。

      所以有:

      f(x,y)=i(x,y)r(x,y),0<i(x,y)<,0<r(x,y)<1

    2.4 图像取样和量化

    • 取样和量化的基本概念

      • 取样 :对坐标值进行数字化
      • 量化 : 对幅值数字化

      数字图像的质量在很大程度上取决于取样和量化中所用的样本数灰度级

    • 数字图像表示

      用数列矩阵来表示一幅数字图像。在实数矩阵中,每个元素称为图像单元、图像元素或像素。

      对比度 一幅图像最高和最低灰度级间的灰度差为对比度。

      存储数字图像所用的比特数为:

      b=M×N×k,M=Nb=N2k

      灰度级数L=2k

    • 空间和灰度分辨率

      • 空间分辨率 :图像中可辨别的最小细节的度量。在数量上,表示每单位距离线对数和每单位距离点数是最通用的度量(必须针对空间单位来规定才有意义)。
      • 灰度分辨率 :指在灰度级中可分辨的最小变化。
    • 图像内插

      用已知数据来估计未知位置的数据处理。是基本的图像重取样方法。可以处理图像的放大和缩小。

    2.5 像素间的基本关系

    • 相邻像素

      位于坐标 (x,y) 处的像素 p 有4个水平和垂直上的相邻像素,用 N4(p) 表示;有四个对角相邻像素,用 ND(p) 表示。如果 p 位于图像边界,则某些邻点可能 落在图像外边。

    • 邻接性、连通性、区域和边界

      • 4邻接、8邻接、混合邻接
    • 距离度量

      • 欧氏距离(圆)
      • D4 城市街区距离(菱形)
      • 棋盘距离(正方形)

    2.6 常用数学工具介绍

    • 阵列和矩阵操作
    • 线性操作和非线性操作
    • 算术操作
    • 集合和逻辑操作
      • 基本集合操作
      • 逻辑操作
      • 模糊集合
    • 空间操作
      • 单像素操作
      • 邻域操作
      • 几何空间变换与图像配准
    • 向量和矩阵操作
    • 图像变换

    3.第三章

    3.1 背景知识

    • 空间域 就是简单的包含图像像素的平面。空间域处理可用以下方式表示:

    g(x,y)=T[f(x,y)],T(x,y)

    • 灰度变换函数
      s=T(r),r,s

    3.2 基本灰度变换函数

    • 图像反转

      得到灰度范围为 [0,L1] 的一幅图像的反转图像:(得到等效的照片底片)

      s=L1r

    • 对数变换

      对数变换的通用形式:

      s=clog(1+r)

      扩展图像中暗像素的值,同时压缩更高灰度级的值。反对数变换的作用与此相反。

    这里写图片描述

    • 幂律变换(伽马)变换

      基本形式:

      s=crγ

      γ<1 变亮,大于1变暗,c=γ=1 恒等变换。

    这里写图片描述
    * 分段线性变换函数
    * 对比度拉伸:扩展图像灰度级动态范围处理,因此它可以跨越记录介质和显示装置的全部灰度范围。

    根据$r,s$ 的取值,变换可以为线性函数和阈值处理函数。
    
    • 灰度级分层:突出特定图像灰度范围的亮度。有两种方法:

      • 突出范围 [A,B] 内的灰度,并将所有其他灰度降低到一个更低的级别;
      • 突出范围[A,N] 内的灰度,并保持所有其他灰度级不变。
    • 比特平面分层:突出特定比特为整个图像外观作贡献。

      • 4个高阶比特平面,特别是最后两个比特平面,包含了在视觉上很重要的大多数数据。
      • 低阶比特平面在图像中贡献更精细的灰度细节。

      得出结论:储存四个高阶比特平面将允许我们以可接受的细节来重建原图像。这样可减少50%的存储量。

    3.3 直方图的处理

    • 理论基础:若一幅图像的像素倾向于占据可能的灰度级并且分布均匀,则该图像会有高对比度的外观并展示灰色调的较大变化。

    • 直方图均衡:

      • 灰度范围为 [0,L1] 的数字图像的直方图是离散函数 h(rk)=nk,其中 rk 是第 k 级灰度值,nk 是图像中灰度为rk 的像素的个数。
      • 通过转换函数T(rk)变换,得到直方图均衡化。
      • 应用:自适应对比度增强。
    • 直方图匹配:用于处理后有特殊直方图的方法。

    • 局部直方图处理:以图像中每个像素邻域中的灰度分布为基础设计变换函数,来增强图像中小区域的细节。

    • 在图像增强中使用直方图统计:提供这样一种增强图像的方法:

      在仅处理均值和方差时,实际上直接从取样值来估计它们,不必计算直方图。这些估计被称为取样均值和取样方差。

    3.4 空间滤波基础

    • 空间滤波机理

      • 空间滤波器的组成:
      • 一个邻域
      • 对该邻域包围的图像像素执行的预定义操作

      滤波产生的是一个新像素,新像素的坐标等于邻域中心的坐标,像素的值是滤波操作的结果。

    • 空间相关与卷积

      • 相关:滤波器模板移过图像并计算每个位置乘积之和的处理。一个大小为m×n 的滤波器与一幅图像 f(x,y) 做相关操作,可表示为w(x,y)f(x,y)
      • 卷积:与相关机理相似,但滤波器首先要旋转180o 一个大小为m×n 的滤波器与一幅图像 f(x,y) 做j卷积操作,可表示为w(x,y)f(x,y)

    3.5 平滑空间滤波器

    用于模糊处理和降低噪声。

    • 平滑线性滤波器(均值滤波器)

      它使用滤波器确定的邻域内像素的平均灰度值代替图像中每个像素的值。应用:

      • 降低噪声
      • 灰度级数量不足而引起的伪轮廓效应的平滑处理
      • 去除图像的不相关细节
    • 统计排序(非线性)滤波器

      最有代表性的是中值滤波器 ,特点:

      • 将像素邻域内灰度的中值(在中值计算中,包括原像素值)代替该像素的值;
      • 对处理脉冲噪声(椒盐噪声)非常有效。

    3.6 锐化空间滤波器

    • 拉普拉斯算子:最简单的各向同性微分算子,是一个线性算子。因其为微分算子,因此强调的是图像中灰度的 突变而不是灰度级缓慢变换的区域。

    • 非锐化隐蔽和高提升滤波:从原图像中减去一部分非锐化的版本。步骤:

      • 模糊原图像
      • 从原图像减去模糊图像
      • 将模板加到原图像上
    • 梯度:图像处理中的一阶微分用梯度实现。对于函数f(x) ,在坐标(x,y) 处的梯度定义为二维列向量。它指出在位置f(x,y)f的最大变化率方向。

      应用:边缘增强。

    4.第四章

    本章主要为傅里叶变换的原理打一个基础,并介绍在基本的图像滤波中如何使用傅里叶变换。

    4.1. 基本概念

    • 傅里叶概念:任何周期函数都可以表示为不同频率的正弦和或余弦和的形式,每个正弦项和或余弦项乘以不同的系数(傅里叶级数)。
    • 傅里叶变换:在非周期函数用正弦和或余弦和乘以加权函数的积分来表示的公式。
    • 介绍复数、傅里叶级数、冲击及其取样特征、连续函数的傅里叶变换以及之前提过的卷积。

    4.2. 取样与取样函数中的傅里叶变换

    • 取样

      在连续函数f(x,y) 中模拟取样的一种方法是:用一个ΔT 单位间隔的冲击串作为取样函数去乘以f(t) .

    • 取样函数的傅里叶变换

      空间域来两个函数乘积的傅里叶变换是两个函数在频率域的卷积。

    • 取样定理

      如果以超过函数最高频率的两倍的取样来获取样本,连续的带限函数可以完全从它的样本集来恢复。

    4.3. DFT小结

    在课本上,作者给了我们详细的总结:

    这里写图片描述
    这里写图片描述
    这里写图片描述

    4.4. 频率域滤波

    • 步骤
      • 等到填充参数PQ
      • 形成大小为P×Q 的填充后的图像fp(x,y)
      • (1)x+y 乘以fp(x,y)移到其变换中心
      • 计算上一步骤的DTF,得到F(u,v)
      • 生成实的、对称的滤波函数H(u,v)
      • 得到处理后的图像gp(x,y)
      • gp(x,y) 的做上限提取M×N区域 ,得到最终的处理结果g(x,y)
    • 空间域与频率域间的纽带是卷积定理。

    4.5. 使用频率域滤波器平滑图像

    三种低通滤波器来平滑图像

    • 定义总结

    这里写图片描述

    • 特性
      • 理想低通滤波器(ILFP)
      • 特性:模糊和振铃。
      • 布特沃斯低通滤波器(BLPF)
      • 特性:随着阶数增高,其振铃和负值变明显。(一阶时无)
      • 高斯低通滤波器(GLPF)
      • 特性:无振铃

    4.6. 使用频率域滤波器锐化图像

    • 三种高通滤波器来锐化图像
      • 定义总结

    这里写图片描述
    * 特性

    * 理想高通滤波器(IHPF)
      * 有振铃
    * 布特沃斯高通滤波器(BHPF)
      * 比IHPF更平滑
    * 高斯低通滤波器(GHPF)
      * 比前两个更平滑,即使微小物体和细线条得到的结果也比较其清晰
    
    • 其他方式

      • 拉普拉斯算子
      • 钝化模板、高提升滤波和高频强调滤波
      • 同态滤波

    4.7.选择性滤波器

    处理指定频段或者频率域的小区域

    • 带阻滤波器和带通滤波器

      • 带阻滤波器
        这里写图片描述

      • 带通滤波器

      • 通过1减去带阻得到。

    • 陷波滤波器:拒绝事先定义的关于频率矩形中心的一个邻域的频率。

      • 陷波带阻滤波器

      用中心已被平移到陷波滤波中心的高通滤波器的乘积来构造。

      • 陷波带通滤波器

      通过1减去带阻得到。

    展开全文
  • 冈萨雷斯 数字图像处理(第三版)matlab代码 图3.42 Sobel梯度进行边缘增强(隐形眼镜的光学图像)
  • 关于具体在实际场景的使用和图像会慢慢更新。 梯度锐化方法 图像平滑往往使图像中的边界、轮廓变得模糊,为了减少影响,需要利用图像锐化技术,使边缘变得清晰。常用的方法有: 直接以梯度值代替 辅以门限判断...
  • 刚开始认真接触数字图像处理,来了解一下数字图像处理的一个特别大体的框架。 1. 概论 数字图像处理的主要内容: 1⃣️ 图像获取、表示和表现;2⃣️ 图像复原;3⃣️ 图像增强; 4⃣️ 图像分割;5⃣️ 图像...
  • 复习着感觉记不住,于是乎,有了这篇博文,如果也同样选修了数字图像处理课程的小伙伴们可以参考一哈! 纯手码字…逢考必过! 概念 采样与量化 灰度变换缓慢的景物:粗采样、细量化 有大量细节变化的图像:...
  • 图像在计算机中以数字图像的形式存储,即以数值矩阵的形式存在,形成了离散的数值信号,在此基础上,对于图像处理中的数值的多样性计算分析也影响着初步图像分析。1.图像梯度的定义图像函数f(x,y)在点(x,y)的梯度是...
  • 数字图像处理研究的主要内容 数字图像处理是指将一幅图像变成另一幅经过修改(改进)的图像,是一个由图像到图像的过程。其主要研究内容如下:图像变换 图像增强 图像恢复 图像分割 数学形态学 图像编码与压缩 图像...
  • 数字图像处理的学习

    2016-10-17 21:46:44
    什么是数字图像处理?历史、以及它所研究的内容。 说起图像处理,你会想到什么?你是否真的了解这个领域所研究的内容。纵向来说,数字图像处理研究的历史相当悠久;横向来说,数字图像处理研究的话题相当广泛。...
  • 第一章 图像的概念: 1.什么是图像? 图 —— 物体投射或反射光的分布,是客观存在; 像 —— 人的视觉系统对图的接收在大脑中形成的印象或认识,是人的...数字图像处理的定义、特点 图像处理:对图像信息进行性加工(...
  • 数字图像处理中的图像锐化 图像锐化的作用: 突出增强边缘轮廓细节 空间域锐化处理方法: (空间锐化滤波) 梯度算法:(一阶差分)——景物边缘轮廓提取, (1): 正交梯度算法——水平垂直差分 (2): Roberts梯度算法——...
  • 概念与方法 一幅图像可定义为一个二维函数f(x,y),其中x,y是空间坐标,而在任何一对空间坐标(x,y)处的...数字图像处理是借助于数字计算机来处理数字图像。 采样与量化:所谓的图像数字化,是指将模拟图像经过离散...
  • 花了点时间整理了一下数字图像处理知识体系,从宏观上把握图像处理,使自己的学习思路就更加清晰。 1.本文大部分内容来自:http://blog.csdn.net/byxdaz/article/details/4375228 2.有些内容待添加,特别是opencv...
  • 梯度的概念  函数 z = f(x,y)在平面区域D内具有一阶连续偏导数,则对于每一个属于D点P(x,y),都可定出一个向量 这个向量称为函数 z = f(x,y)在点P出的梯度,记为如下: 图像梯度的定义 图像...
  • 数字图像处理方法的重要性源于两个主要的应用领域:改善图示信息以便人们解释;为存储、传输和表示而对图像数据进行处理,以便于机器自动理解。 一幅数字图像可定义为一个二维函数f(x,y),其中x和y是空间(平面)...
  • 数字图像处理之前需要先进行图像数字化:图像数字化图像数字化是计算机处理图像之前的基本步骤,目的是把真实的图像转变成计算机能够接受的存储格式,数字化过程分为采样和量化两个步骤。 数字图像处理的框架大体...
  • 基本的图像处理 ( 对比度增强 、 插值 、 邻域 ) 直方图(图像均匀化,归一化) 图像滤波、图像梯度(Sobel,Laplacian) 频域图像处理、傅里叶变换等 形态学图像处理(膨胀和腐蚀,开闭操作等) 卷积神经网...
1 2 3 4 5 ... 20
收藏数 20,123
精华内容 8,049