• 【原】数字图像处理学习之二亮度变换与空间滤波


    函数

    说明

    例子

    imadjust

    亮度调整

    imadjust(f) 提高对比度

    stretchlim

    获得图像对比度拉伸范围

    原理呢?

     imhist(I,n) 

    直方图,I为图像,n为灰度级数

     

    subplotm n p 

    m表示是图排成m行,n表示图排成n列, p是指你现在要把曲线画到figure中哪个图上 

     

    histeq

    直方图均衡化

     

    imfilter

    线性滤波器

     
    a = imread('Fig0338(a)(blurry_moon).tif')
    subplot(331)
    imshow(a)
    w = [0 1 0;1 -4 1;0 1 0]
    b = imfilter(a, w)
    subplot(332)
    imshow(b)
    c =a-b
    subplot(333)
    imshow(c)
    
    w = [1 1 1;1 -8 1;1 1 1]
    d = imfilter(a, w)
    subplot(335)
    imshow(d)
    e =a-d
    subplot(336)
    imshow(e)
    
    d = imfilter(a, w,'conv','replicate')
    subplot(338)
    imshow(d)
    e =a-d
    subplot(339)
    imshow(e)

    padarray

    填充矩阵

     

    colfilt

    非线性滤波器

    http://kernel.blog.51cto.com/920538/244284/ 

     
    function mytest()
    f = imread('Fig0335(a)(ckt_board_saltpep_prob_pt05).tif');
    subplot(321);
    imshow(f);
    f = padarray(f, [3 3], 'replicate', 'both');
    
    h = im2double(f)
    g = colfilt(h, [3 3], 'sliding', @gmean);
    subplot(322);
    k = im2uint8(g)
    imshow(k);
    
    h = im2double(f)
    g = colfilt(h, [3 3], 'sliding', @gmean2);
    subplot(323);
    k = im2uint8(g)
    imshow(k);
    
    h = im2double(f)
    g = colfilt(h, [3 3], 'sliding', @gmean4);
    subplot(324);
    k = im2uint8(g)
    imshow(k);
    
    h = im2double(f)
    g = colfilt(h, [3 3], 'sliding', @gmean3);
    subplot(325);
    k = im2uint8(g)
    imshow(k);
    end
    function v = gmean(A)
    mn = size(A, 1);
    v =median(A, 1);
    end
    function v = gmean2(A)
    mn = size(A, 1);
    v =mean(A, 1);
    end
    function v = gmean3(A)
    mn = size(A, 1);
    v =min(A);
    end
    function v = gmean4(A)
    mn = size(A, 1);
    v =max(A);
    end

    fspecial

    产生滤波器模板

     
    function mytest_fspecial()
    f=imread('Fig0338(a)(blurry_moon).tif');
    subplot(321)
    imshow(f)
    
    w = fspecial('laplacian', 0);
    g = imfilter(f, w, 'replicate');
    subplot(323)
    imshow(g)
    h = f-g
    subplot(324)
    imshow(h)
    
    w2 = fspecial('laplacian', 1);
    g = imfilter(f, w2, 'replicate');
    subplot(325)
    imshow(g)
    h = f-g
    subplot(326)
    imshow(h)
    
    end

     

    一、概念

    对比度最高亮度/最低亮度

    饱和度指的是色彩的纯度,纯度越高,表现越鲜明,纯度较低,表现则越暗淡。其数值为百分比介于0~100%之间,纯白色的饱和度为0,而纯彩色光的饱和度为100%。饱和度与所加白光的数量成反比。

    噪声指的是图像中各种妨碍人们对其信息接收的因素。

    相邻像素:

    4邻域:像素p(x,y)4邻域是:(x+1,y)(x-1,y)(x,y+1)(x,y-1)

    D邻域定义:像素p(x,y)D邻域是:对角上的点 (x+1,y+1)(x+1,y-1)(x-1,y+1)(x-1,y-1)

    8邻域定义:像素p(x,y)8邻域是:4邻域的点 + D邻域的点

     

    像素间的连通性:

    对于具有值V的像素pq,如果q在集合N4(p)中,则称这两个像素是4连通的。

    对于具有值V的像素pq,如果q在集合N8(p)中,则称这两个像素是8连通

    对于具有值V的像素pq,如果:

    I. q在集合N4(p)中,或

    II. q在集合ND(p)中,并且N4(p)N4(q)的交集为空(没有值V的像素)则称这两个像素是m连通的,即4连通和D连通的混合连通。像素的连通性——m连通

     

    通路的定义

    一条从具有坐标(x,y)的像素p,到具有坐标(s,t)的像素q的通路,是具有坐标(x0,y0),(x1,y1),...,(xn,yn)的不同像素的序列。其中,(x0,y0) = (x,y)(xn,yn) = (s,t)(xi,yi) (xi-1,yi-1)是邻接的,≤ ≤ nn是路径的长度。如果(x0,y0) = (xn,yn) ,则该通路是闭合通路像素的连通性——通路

     

    像素之间距离的定义

    对于像素pqz,分别具有坐标(x,y)(s,t)(u,v),如果

    (1) D(p,q) 0 (D(p,q)=0,当且仅当p =q),

    (2) D(p,q)  =  D(q,p)

    (3) D(p, z ) ≤ D( p , q) + D(q , z)

    则称D是距离函数或度量

     

    像素p(x,y)q(s,t)间的欧式距离定义如下:

    对于这个距离计算法,具有与(x,y)距离小于等于某个值r的像素是:包含在以(x,y)为圆心,以r为半径的圆平面欧式距离定义

    对于这个距离计算法,具有与(x,y)距离小于等于某个值r的像素是:包含在以(x,y)为圆心。以r为半径的圆平面

     

    D4距离(城市距离)

    像素p(x,y)q(s,t)之间的D4距离定义为:

    D4(p,q) = |x – s| + |y  – t|

     

    D8距离(棋盘距离)像素p(x,y)q(s,t)之间的D8距离定义为:

    D8(p,q) = max(|x – s| ,|y – t|)

     

     

    点运算——1反转变换,2对数变换

    反转变换:

    s = L-1-r

    [0,L-1]为图像的灰度级。作用:黑的变白,白的变黑

    对数变换:

     

    c是常数,r≥ 0

    有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失

    解决办法是对原图进行灰度压缩,如对数变换

     

    点运算——4对比度拉伸

    点运算——5灰度级切片

    点运算——6位平面切片

    代数运算  加法:去除叠加性噪声

    对于原图像f(x,y),有一个噪声图像集

    { gi(x,y) }    i =1,2,...N

    其中:gi(x,y) = f(x,y) + h(x,y)i

    假设噪声h(x,y) 均值为0,且互不相关

    N个图像的均值定义为:

    g(x,y) = (g0(x,y)+g1(x,y)+ + gN(x,y))/N

     

    直方图

     

     

     

    直方图均衡化

    已知原图像的概率密度函数为 pr(r), r在区间[0, L-1]内。假设经过函数s = T(r)变换后的概率密度函数为ps(s)。直方图均衡化,即ps(s)=1/(L-1)

    因为 :

    pr(r)dr = ps(s)ds  变换后,面积不变。

    所以

     

    离散的情况:

     

    应用:

    镜头检测:

     

     

     

    参考文献:C.W.Ngo,T.C.Pong,and R.T.Chin. Video Partitioning by Temporal Slice Coherency. IEEE Transactions on Circuits and Systems for Video Technology, Aug.2001.

     

    空间域图像增强

    空间滤波器

    1) 平滑空间滤波器

    2) 锐化空间滤波器

    空间滤波和空间滤波器的定义:

    使用空间模板进行的图像处理,被称为空间滤波。模板本身被称为空间滤波器。

    平滑空间滤波器:

    作用:

    去除图像不重要的细节

    减少噪声

    1、线性滤波器:均值滤波器

    2、非线性滤波器:

    1)中值滤波器

    2)最小值滤波器

    3)最大值滤波器

     

    锐化滤波器

    锐化滤波器的主要用途

    l 突出图像中的细节,增强被模糊了的细节

    l 印刷中的细微层次强调。弥补扫描对图像的钝化

    l 超声探测成像,分辨率低,边缘模糊,通过锐化来改善

    l 图像识别中,分割前的边缘提取

    l 锐化处理恢复过度钝化、暴光不足的图像

    l 尖端武器的目标识别、定位

     

    锐化滤波器的分类:

    l 二阶微分滤波器-拉普拉斯算子

    l 一阶微分滤波器-梯度算子

     

     

  • 相关阅读:
    升级linux bash
    vim关键字自动补全
    linux bash shell之变量替换::=句法、=句法、:句法、句法、=?句法、?句法、:+句法、+句法
    使用Bash编写Linux Shell脚本7.复合命令
    使用Bash编写Linux Shell脚本5.变量
    使用Bash编写Linux Shell脚本8.调试和版本控制
    Perl之单引号\双引号的字符串直接量
    linux bash shell 中的单引号和双引号
    使用Bash编写Linux Shell脚本6.表达式
    Vim的行号、语法显示等设置,即.vimrc文件的配置
  • 原文地址:https://www.cnblogs.com/irish/p/3143625.html
Copyright © 2020-2023  润新知