平的哪怕是在HSI空间将S和I分量用其他的法门展开了拉升和拍卖。直方图拉伸和直方图均衡化是大的间接对比度增强方法。3 Intensity Transsformations and Spatial Filtering

  最近直尚未找到感兴趣的研究课题,下了几只流行的去雾的舆论,随便扣压了产,觉得都是为写论文而举行的舆论,没有呀创新性,也便无想法去实现他们。偶尔看看了有些有关水下图像增强方面的文章,闲来无聊试着去探访效果,不过呢道很给人失望,似乎并不曾专门有效之算法。

一样、图像增强算法原理

        
图像增强算法常见于对图像的亮度、对比度、饱和度、色调等展开调试,增加其清晰度,减少噪点等。图像增强往往通过差不多独算法的重组,完成上述功效,比如图像去燥等同于低通滤波器,增加清晰度则为高通滤波器,当然增强同相符图像是啊尾声得到图像来因此信息服务为主。一般的算法流程可也:图像去燥、增加清晰度(对比度)、灰度化或者抱图像边缘特征或者对图像进行卷积、二值化等,上述四单步骤往往可以通过不同之步子进行落实,后续将对是者内容展开专题实验,列举其下场景和拍卖特点。

       
本文章是一律篇综合性文章,算是一篇抛砖引玉的文章,有均衡化、提高对比度、降低对比度的算法。

Chapter_3 Intensity Transsformations and Spatial Filtering
灰度变换与空间滤波

     
就自己看得几乎首文章而言,这类似算法都非是由规律上、或者说某个一个数学模型、抑或是某种先验知识出发,而提出的算法,都是一律栽没有呀特强的反驳支持,只是通过有些实际的试而得的部分过程而已。这些过程对于论文本身受到提供的测试图像都持有较为理想的拍卖功能,而若选择一样顺应其他性能的水下图像,其结果往往难以令人满意。因此,也便没有类似于去雾算法界暗通道先验那样不可逾越的黄金文章了。

1.1 基于直方图均衡化的图像增强

      
图像对比度增强的章程可以分为两种植:直接对比度增强方法,间接对比度增强方法。直方图拉伸和直方图均衡化是普遍的间接对比度增强方法。直方图拉伸是使用对比度拉伸对直方图进行调,扩大前景和背景灰度的差距,这种措施可以经线性和非线性的不二法门来落实,其中ps中就是是运用是方式提高对比度;直方图均衡化则是行使累积函数对灰度值进行调整,实现对比度的增高。

       
直方图均衡化处理原理:将原图像的灰度图从于集中之之一灰度区间都匀分布在所有灰度空间被,实现对图像的非线性拉伸,重新分配图像像素值。

算法应用场景:

        
1、算法的本色是更分布图像的比如素值,增加了多部分的针对比度,整体的针对比度没有进展最要命改,所以下图像也图像发因此数据的对比度相近是,例如:X光图像,可以以曝光过度还是曝光不足照片进行再次好的来得,或者是背景以及前景太亮或太暗的图像非常管用。

       
2、算法当然为发出欠缺,具体表现为:变换后底图像灰度级减少,某些细节减少;某些图像来高峰值,则处理后对比度不自然的忒增强。

算法实现特点:

      
1、均衡化过程:直方图均衡化保证在图像像素映射过程中本来的高低关系保无转移,即于亮的区域仍比较亮,较暗的照样比较暗,只是针对比度增加,不可知明暗颠倒;保证像素映射函数的值域在0和255次。累积分布函数是只增长函数,并且值域是0到1。

         2、累积分布函数实现过程:

        
比较概率分布函数和积累分布函数,前者的第二维图像是参差不齐的,后者是单调递增的。直方图均衡化过程被,映射方法是

图片 1

          
其中,n是图像中像素的总和,图片 2凡是时下灰度级的像素个数,L是图像被恐怕的灰度级总数。

来看看通过上述公式怎样实现的拉伸。假设有如下图像:

图片 3

得图像的统计信息若下图所出示,并基于统计信息成功灰度值映射:

图片 4

照后底图像如下所示:

图片 5

算法伪代码:

        1、计算原始灰度图像的像素概率分布

         2、根据像素概率分布获取图像累积分布函数

        3、根据映射函数获取变换后的图像

算法matlab代码:

%直方图均衡化  
I = imread('rice.png');  
[height,width] = size(I);  
figure  
subplot(221)  
imshow(I)%显示原始图像  
subplot(222)  
imhist(I)%显示原始图像直方图  

%进行像素灰度统计;  
NumPixel = zeros(1,256);%统计各灰度数目,共256个灰度级  
for i = 1:height  
    for j = 1: width  
        NumPixel(I(i,j) + 1) = NumPixel(I(i,j) + 1) + 1;%对应灰度值像素点数量增加一  
    end  
end  
%计算灰度分布密度  
ProbPixel = zeros(1,256);  
for i = 1:256  
    ProbPixel(i) = NumPixel(i) / (height * width * 1.0);  
end  
%计算累计直方图分布  
CumuPixel = zeros(1,256);  
for i = 1:256  
    if i == 1  
        CumuPixel(i) = ProbPixel(i);  
    else  
        CumuPixel(i) = CumuPixel(i - 1) + ProbPixel(i);  
    end  
end  
%累计分布取整  
CumuPixel = uint8(255 .* CumuPixel + 0.5);  
%对灰度值进行映射(均衡化)  
for i = 1:height  
    for j = 1: width  
        I(i,j) = CumuPixel(I(i,j));  
    end  
end  

subplot(223)  
imshow(I)%显示原始图像  
subplot(224)  
imhist(I)%显示原始图像直方图

Intensity transformation function **s = T(r) *(size of the
neighborhood is 1
1)

       我看了三篇稿子,第一篇是Underwater
Image Enhancement Using an Integrated Colour
Model,07年底篇章,算法的细路很简单,借用文章中之同样可流程图来说明下:

1.2 基于拉普拉斯算子的图像增强

       
利用拉普拉斯算子进行图像增强本质是采用图像的亚次等微分对图像进行蜕化,在图像领域受到微分是锐化,积分是混淆,利用二坏微分对图像进行蜕化即用邻域像素提高对比度。在opencv中也起拉普拉斯函数,但当场生成了灰度图像,更多的求取边缘,具体源码还无研究,其中规律可以参见我眼前无异首文章,针对拉普拉斯有个详细的牵线。

本次试验应用之卷积核为:

图片 6

图片 7

         
 图片 8

1.3 基于对象Log变换的图像增强

       
对数变换可以以图像的低灰度值部分扩大,显示出小灰度部分重新多的细节,将该高灰度值部分压缩,减少高灰度值部分的细节,从而达到强调图像低灰度部分的目的。变换方式:

图片 9

        对数变换对图像低灰度部分细节增强的功效了得由对数图上直观了解:

图片 10

        
x轴的0.4横对应了y轴的0.8,即原图上0~0.4的低灰度部分通过对数运算后扩大到0~0.8的部分,而整个0.4~1的高灰度部分受投影到只有0.8~1的区间,这样尽管高达了扩大及提高小灰度部分,压缩高灰度部分的价值的效用。

于达到图还可以视,对于不同之底数,底数越老,对低灰度部分的扩展就越发强,对大灰度部分的减为即一发强。

Some Basic Intensity Transformation Functions
1.Image Negatives 图像反转
s = T(r) = L – 1 – r
2.Log Transformations 对数变换
s = T(r) = clog(1+r)
改良傅里叶频谱的丰富度

 

1.4  基于伽马变换的图像增强

       
伽马变换主要用于图像的校正,将灰度过高要灰度过低之图样进行更正,增强对比度。变换公式就是本着原先图像上各国一个如素值做乘积运算:

图片 11

      
伽马变换对图像的修正作用其实就是是经提高小灰度或高灰度的细节实现之,从伽马曲线可以直观了解:

图片 12

       
γ值以1呢分界,值更聊,对图像低灰度部分的扩展作用就是越强,值更充分,对图像高灰度部分的恢弘作用就是更为强,通过不同之γ值,就得直达提高小灰度或高灰度部分细节的意。

       
伽马变换对于图像对比度偏小,并且完全亮度值偏强(对于被相机过曝)情况下之图像增强效果显著。

图片 13

   
 很简单的步调,首先是展开对比度拉升,可以用作是相仿于PS中之自发性对比度,接着以拍卖后的图像转换到HSI颜色空间,在对S和I分量进行拉升,之后更将HSI空间的数码易到RGB空间得到终极之图像。在百度上寻找谁下图像增强,能找到一个相关的专利,见http://www.google.com/patents/CN102930512A?cl=zh,这个专利的内容其实呢并未啥新意,一样的即使是当HSI空间将S和I分量用别样的措施展开了拉升和拍卖,还是发明专利,呵呵,大家还掌握国内专利是怎么回事。

次、测试代码

根据上述讲解,本文利用python进行编程实验,代码如下:

def preprocess(filename, i):
    image = cv2.imread(filename)
    image_gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)

#    直方图均衡增强
    image_equal = cv2.equalizeHist(image_gray)
    r,g,b = cv2.split(image)
    r1 = cv2.equalizeHist(r)
    g1 = cv2.equalizeHist(g)
    b1 = cv2.equalizeHist(b)
    image_equal_clo = cv2.merge([r1, g1, b1])

#   拉普拉斯算法增强
    kernel = np.array([ [0, -1, 0],  
                    [-1,  5, -1],  
                    [0, -1, 0] ]) 
    image_lap = cv2.filter2D(image,cv2.CV_8UC3 , kernel)

#    对象算法增强
    image_log = np.uint8(np.log(np.array(image) +1))    
    cv2.normalize(image_log, image_log,0,255,cv2.NORM_MINMAX)
#    转换成8bit图像显示
    cv2.convertScaleAbs(image_log,image_log)

#    伽马变换
    fgamma = 2
    image_gamma = np.uint8(np.power((np.array(image)/255.0),fgamma)*255.0)
    cv2.normalize(image_gamma, image_gamma, 0, 255, cv2.NORM_MINMAX)
    cv2.convertScaleAbs(image_gamma, image_gamma)

3.Power-Law (Gamma) Transformations 幂定律(伽马)变换
s = T(r) = crγ

     
这篇论文对算法有的叙述或过于简单,虽然针对比度拉升给了单公式,但连无确定性的说明S和I分量的有血有肉处理流程,他于的简单首参考文献对应的网站呢无法打开了,因此无法对原本的算法进行求证,我于是GIMP的对比度拉升

老三、实验结果及分析

图片 14图片 15                              
(src)                                                               
(log)

图片 16图片 17

                           
(laplus)                                                                
(gamma)

图片 18                                                                         
(equal)

图片 19图片 20

                                 
(src)                                                                                           
(log)

图片 21图片 22

                                
(laplus)                                                                                 
(gamma)

图片 23

                                                                                  
(equal)

试结果分析也:

       
1、log函数变化对图像增强来讲,更多是针对性图像的指向比度有所弱化,毕竟函数表现形式也像素值小的变大点,像素值大的变小点,所以对比度减多少,亮度增加,正而图像所著。所以时看来log函数还是慎用,如果提高函数可以运用分支函数啊。

      
2、gamma函数图像增强,这个函数原理可以见到,当r大于1时,可以视作指数函数,小于则也log函数。在测验中我们常常因此r>1,实现图像对比度增强。从图像遭到得看看,黑色更黑,白色更白。

      
3、laplus函数图像增强,本质是微分,所以啊图像锐化,在图像锐化是判凸出显图像的底细,进而直观上增强图像对比度。

     
4、equal函数本质是再次分布图像的如素值,直观我们发现图像颜色发生变化,但针对比度是有所提高,当然对这组的图像的作用,没有体现。

总:图像增强方法不同,应用领域不同,更好之运用得控制灵活多变的主意。

进行针对比度增强、丰富画面细节。
洋洋图像获取打印显示的设施冲拖欠定律产生响应,而用于校正这些应现象的处理则名为Gamma
ccorrection(伽马校正)

  • HSV拉升未能达到论文被之效益。 

季、参考文章

1、OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma):本文基本以此基础及展开编程实现,原理可以参见这,同时自己对中的定义问题展开详解。

2、直方图均衡化原理:本文详细介绍了直方图均衡化的法则,并透过opencv进行函数实现。

3、直方图均衡化详解及编程实现:文中对直方图均衡化的利用特点和症结进行辨析,并冲算法原理通过matlab实现了算法。

4.Piecewise-Linear Transformation Function 支线性变换函数
Contrast stretching 对比度拉伸(扩展图像灰度级动态范围)、Intensity-level
slicing
灰度级分层(使感兴趣范围灰度级变亮/暗,而保持图像被其他灰度级不移)、Bit-plane
slicing 比特平面分层(分析比特、图像压缩)

     
 第二篇与老三首都是用底图像融合之办法来拍卖的,分别是Enhancing
Underwater Images and Videos by Fusion以及Effective Single Underwater
Image Enhancement by
Fusion,后同样首是国内合工大和中科大之撰稿人写的,很引人注目好看得出模仿的字迹

3.3 Histogram Processing直方图处理
an image whose pixels tend to occupy the entire range of possible
intensity levels and, in addition, tend to be distributed uniformly,
will have an appearance of high contrast and will exhibit a large
variety of gray
tones.一幅图像的像素倾向于占整个可能的灰度级并且分布均匀,则该图像将表现高对比度并且亮灰色调的比生变化。最终效果将是均等抱灰度细节丰富且动态范围比充分之图像。
细分全局global的及有local

     
 其实这种通过融合之办法也异常粗略,就是预先物色点儿种植算法得到针对性原图两种不同档次的增长的结果,然后选择好一个齐心协力系数的计算公式,再展开拉普拉斯金字塔融合,从而提取更好之结果。Enhancing
Underwater Images and Videos by
Fusion这首文章就是是选用了白平衡的结果(记否I1)作为融合的靶子同,
用对I1进行两岸滤波+CALHE之类的算法处理的结果(记否I2)作为融合之靶子2。标准的拉普拉斯融合的齐心协力算法一般生:最可怜价值、最小价、平均值,这里虽然改也某一样种权重系数的融合,最后进行拉普拉斯融合。

1、Histogram Equalization 直方图均衡化
原理:
无异于帧图像的灰度级可作是距离[0,L-1]外之随机变量,我们用那Probability
density function,PDF(概率密度函数)来写。令pr
(r)和ps
(s)分别表示随机变量r和s的概率密度函数,由基本的概率论,编花环后的变量s的PDF可由以下公式得到:

     
 因此,这个算法的处理结果的好坏性完全在融合的靶子,即有限独前处理算法。但是同样是的题目不怕算法的宽广适应性,某一样栽前处理对某个平等看似合适,对其他的饶未自然了。

图片 24

     
 我这里通过一些试行,也提出同样种前处理算法,这个算法的功用好在GIMP的颜料–》自动–》色调均化中看到。

当图像处理面临专门要之变换函数如下所示:

     
 虽然GIMP是一个接近PS的软件,但双边的色均成为效果完全不同,查看GIMP的代码就能领略这是怎了,我这边贴发出GIMP的之算法的主干代码有:

图片 25

static void
equalize_lut_setup (GimpLut       *lut,
                    GimpHistogram *hist,
                    gint           n_channels)
{
  gint            i, k, j;
  hist_lut_struct hlut;
  gdouble         pixels_per_value;
  gdouble         desired;
  gdouble         sum, dif;

  g_return_if_fail (lut != NULL);
  g_return_if_fail (hist != NULL);

  /* Find partition points */
  pixels_per_value = gimp_histogram_get_count (hist,
                                               GIMP_HISTOGRAM_VALUE,
                                               0, 255) / 256.0;

  for (k = 0; k < n_channels; k++)
    {
      /* First and last points in partition */
      hlut.part[k][0]   = 0;
      hlut.part[k][256] = 256;

      /* Find intermediate points */
      j   = 0;
      sum = (gimp_histogram_get_channel (hist, k, 0) +
             gimp_histogram_get_channel (hist, k, 1));

      for (i = 1; i < 256; i++)
        {
          desired = i * pixels_per_value;

          while (sum < desired && j < 256)
            {
              j++;
              sum += gimp_histogram_get_channel (hist, k, j + 1);
            }

          /* Nearest sum */
          dif = sum - gimp_histogram_get_channel (hist, k, j);

          if ((sum - desired) > (dif / 2.0))
            hlut.part[k][i] = j;
          else
            hlut.part[k][i] = j + 1;
        }
    }

  gimp_lut_setup (lut, (GimpLutFunc) equalize_lut_func, &hlut, n_channels);
}

void
gimp_lut_setup (GimpLut     *lut,
                GimpLutFunc  func,
                void        *user_data,
                gint         nchannels)
{
  guint   i, v;
  gdouble val;

  if (lut->luts)
    {
      for (i = 0; i < lut->nchannels; i++)
        g_free (lut->luts[i]);

      g_free (lut->luts);
    }

  lut->nchannels = nchannels;
  lut->luts      = g_new (guchar *, lut->nchannels);

  for (i = 0; i < lut->nchannels; i++)
    {
      lut->luts[i] = g_new (guchar, 256);

      for (v = 0; v < 256; v++)
        {
          /* to add gamma correction use func(v ^ g) ^ 1/g instead. */
          val = 255.0 * func (user_data, lut->nchannels, i, v/255.0) + 0.5;

          lut->luts[i][v] = CLAMP (val, 0, 255);
        }
    }
}

等式右边是随机变量r的累积分布函数(CDF)进行去归一化映射到[0,L-1]
,结合Leibniz’s rule得到:

  gimp的代码看起相当晦涩的,但是事实上上述算法要描述的意思非常粗略,就是自个儿盼望我调后底图像的直方图在每个色阶上的遍布概率都是一律的。其实这个过程就可以看成是直方图规定化的一个进程,举例如下:

图片 26

     图片 27   
 图片 28

将上式结果带入,并切记概率密度值为正,得到:

                     原  图      
                                                           
处理后底希冀

图片 29

    图片 30   
 图片 31 
  图片 32

足见,这是一个净匀概率密度函数。
ps
(s)始终是全匀的而和pr
(r)的花样无关。

以直方图是PDF的类(离散化了),而且处理面临无容许出现新的灰度级,因此在其实的直方图均衡应用中很少见到周平坦的直方图。

    图片 33   
 图片 34   
 图片 35

2、Histogram Matching (Specification) 直方图匹配(规定化)
用来产生一定的直方图的办法。令pr
(r)为输入图像PDF,pz
(z)是愿意输出图像所拥有的PDF,直方图规定化过程如下:

    图片 36   
 图片 37   
 图片 38

图片 39

        原图B/G/R对应之直方图          
                   待匹配的直方图                 
 处理后的直方图

1、计算给定图像的直方图pr
(r),通过上式进行直方图均衡化,将sk
季放弃五副乎[0,L-1]限制外之平头。

  可见处理后底直方图已尽量向带匹配的模式贴近,但不可能了平等。

图片 40

   
 用这个过程处理了几帧论文中带的水下图像,效果如下:

2、由上式计算变换函数G(z)所有的价,把G(z)的值四放弃五相符乎[0,L-1]限定外之平头,将G(z)之值存储在平摆放表中。
3、对于各一个值sk
,使用存储的G值寻找对应的zq
值,使G(zq
)最接近sk
,并储存于s到z的映照,当映射不唯一时选择最好小的值。

 
 图片 41 
  图片 42

空间滤波基础

 
 图片 43 
  图片 44

图片 45

 
 图片 46 
  图片 47

平整空间滤波器 Smoothing Spatial Filters
Smoothing Spatial Filters are used for blurring and for noise
reduction

用来模糊处理与滑降噪声。

    最后一帧图于Enhancing Underwater
Images and Videos by
Fusion一温婉遭遇的作用是大强的,主要是过于的充分当然,这个应该融合在那打算吧。


   
融合这种处理方式确实一个值得推广的想法,因此那篇论文才见面化2012之CVPR论文之一之。

1、Smoothing Linear Filters 平滑线性滤波器

 图片 48

图片 49

*********************************作者:
laviewpbt   时间: 2014.4.6   联系QQ:  33184777
 转载请保留本行信息************************

否叫做均值滤波器averaging
filters。用滤波器掩模定义的邻域内像从的平均灰度值代替图像中每个像素的价。,从而降低图像灰度尖锐的转移。由于随机噪声通常是灰度级的怒变化而形成的,因此平滑处理极其鲜明的下就是是降噪。但是均值滤波器会引起边缘模糊的负面效应。

2、Order-Statistic(Nonlinear) 统计排序(非线性)滤波器
拿滤波器包围的图像区域受到之像素排序,然后按照排序结果决定的价值取代中心像从的价。这同样类似滤波器中极度出名的底是median
filter(中值滤波器)。(除此之外比较常用之还有max filter最要命值滤波器、min
filter最小值滤波器)。

遇值滤波器针对处理impulse noise (脉冲噪声,也号称salt-and-pepper
nosie 椒盐噪声
,以黑白点的花样叠加在图像上) 非常有效。

锐化空间滤波器 Sharpening Spatial Filters
The Principal objective of sharpening is to highlight transitions in
intensity

用以突出灰度级过度的一些


平等阶微分与二阶微分的定义如下:

图片 50

图片 51

图片 52

着眼上图,注意到同阶微分和二阶微划分有以下性质:
1、both be zero in constant areas
在稳灰度区域一阶微分割和二阶微分都是碎片
2、first derivative must be nonzero at the onset of an intensity step or
ramp 一品级微分在阶梯起点要斜坡起点处不也零星
second derivative must be nonzero at the onset and end of an intensity
step or ramp 二阶微分在台阶和斜坡的起点和极还无也零星
3、first derivative must be nonzero along ramps 一号微分在侧坡及无也零星
second derivative must be zero along ramps of constant slope
二阶微分在侧坡及啊零星

数字图像的边缘在灰度值上日常就是这种斜坡式的交接。这样虽造成图像的一致阶微分出于粗的边缘,因为沿斜坡的微分非零。另一方面,二阶微分则有一个由于零值分开的单像素宽的彼此缘。由此得出结论,二阶微分在增长图像细节方面可比同样阶微分而好广大,这个特点非常副锐化图像。而且,二阶微分割比平阶微分更易实现,所以我们要进一步体贴二阶微分。

Using the Second Derivative for Image Sharpening–The Laplacian
用二阶微细分进行图像锐化–拉普拉斯算子

一个二维图像的Laplacian定义也

图片 53

用3.6-2的定义,在双变量的场面下,我们得到:

图片 54

图片 55

由以上三式,得到双变量的离散拉普拉斯算子为:

图片 56

该公式可以用图3.37(a)的滤波模板来兑现:

图片 57

Laplacian是一个微分算子,它强调图像中灰度级的愈演愈烈,并无强调灰度级缓慢变化的区域,这将产生将灰色边缘线和突变点添加到暗色无特色背景被的图像。将拉普拉斯图像叠加到原图像叠上足回复背景的特点并保持锐化的力量。

此外,记住拉普拉斯用定义是非常关键之,如果定义着采取的凡依靠的主干系数,那么我们就由原图像吃弱化去拉普拉斯图像,而无是长她。从而赢得锐化的结果(增长灰度图突变处的指向比度,增强图片细节)。所以,我们采取拉普拉斯针对图像增强的中心方式可以表示也下式:

图片 58

3.6.3 Unsharp Masking and Highboost Filtering 反锐化掩模和强提升滤波

在印刷界和出版界使用多年之锐化图像的办法是,从原图像被弱化去非锐化(平滑过之)的本子。这种进程称之为unsharp
masking反锐化掩模,包括以下过程:
1、Blur the original image. 模糊原图像
2、Substract the blurred image from the original (the resulting
difference is called the mask).
从原先图像及削弱去模糊的图像(产生的差值图像称为模板)
3、 Add the mask to the original. 将模板加到原图像及

令fblur
(x,y)表示模糊图像,反锐化掩模用公式形式表示如下:
1、首先取得模板 gmask
(x,y) = f(x,y) – fblur
(x,y)
2、然后在原先图像上助长欠模板的一个权重部分 g(x,y) = f(x,y) + k * gmask
(x,y)

k称为权重系数。当k=1时,我们获得地方定义之反锐化掩模。当k>1时,该处理称为highboost
filtering(高提升滤波)。当k<1时则未强调反锐化掩模的奉献。

Figure 3.39 explains how unsharp masking works.

图片 59

3.6.4 Using First-Order Derivatives for (Nonlinear) Image
Sharpening–The Gradient 用一等微分针对性(非线性)图像锐化–梯度

图像处理着的平流微分使用梯度幅度来促成之。对于函数f(x,y),f在坐标(x,y)处之梯度定义也二维列向量

图片 60

拖欠向量指出了以(x,y)处f的极致要命变化率的方向。
拖欠向量的肥瘦值(长度)表示为M(x,y),即

图片 61

M是梯度向量在(x,y)处的价(沿梯度方向)。注意,M(x,y)是同原本图像大小同等之图像,该图像通常被喻为梯度图像(当含义甚理解时不过简称为梯度)。

索贝尔算子(Sobel operator)
一言九鼎作为边缘检测。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度的即似值。在图像的其他一样碰用此算子,将会见出相应之梯度矢量或是其法矢量。

图片 62

MATLAB:

Demo – Enhancement Histogram modification

I = imread(‘tire,tif’);
imhist(I); #著直方图
imshow(255-I); #反色
histeq(I); #直方图均衡化

Demo – Median filter

I = imread(‘eight.tif’); #读取图像
J = imnoise(I, ‘salt & pepper’, 0.09); #加椒盐噪声
K = medfilt2(J); #备受值滤波器
figure, imshow(I); figure, imshow(I), figure, imshow(K)
#显示比图像

Demo – Unsharp masking

I = imread(‘eight.tif’);
J = imnoise(I, ‘salt & pepper’, 0.09);
K = medfilt2(J);
figure, imshow(I); figure, imshow(J), figure, imshow(K), figure,
imshow(I-K), figure,
imshow((I-k).^(2)); #直方图拉伸就让再次好的来得边缘

相关文章