• 本文选自:http://www.cnblogs.com/Imageshop/p/3302850.html,作者写的非常不错,包括另外一篇文章:http://www.cnblogs.com/Imageshop/p/3307308.html,感谢作者的辛勤劳动!自己整理过来备份。...


    本文选自:http://www.cnblogs.com/Imageshop/p/3302850.html,作者写的非常不错,包括另外一篇文章:http://www.cnblogs.com/Imageshop/p/3307308.html,感谢作者的辛勤劳动!自己整理过来备份。


    这是篇很古老的论文中的算法,发表与1994年,是清华大学黄良凯(Liang-kai Huang) 所写,因此国外一些论文里和代码里称之为Huang's fuzzy thresholding method。虽然古老也很简单,但是其算法的原理还是值得学习的。

    该论文的原文可从此处下载: Image thresholding by minimizing the measure of fuzziness

         该论文结合了当时处于研究热潮的模糊集理论,提出了一种具有较好效果的图像二值化算法,本文主要是对其进行简单的翻译和注释,并提供了测试代码。



    代码:说明的是,原作者给出的是针对直方图投影进行处理的函数,函数输入参数是直方图投影图。

    public static int GetHuangFuzzyThreshold(int[] HistGram)
    {
        int X, Y;
        int First, Last;
        int Threshold = -1;
        double BestEntropy = Double.MaxValue, Entropy;
        //   找到第一个和最后一个非0的色阶值
        for (First = 0; First < HistGram.Length && HistGram[First] == 0; First++) ;
        for (Last = HistGram.Length - 1; Last > First && HistGram[Last] == 0; Last--) ;
        if (First == Last) return First;                // 图像中只有一个颜色
        if (First + 1 == Last) return First;            // 图像中只有二个颜色
    
        // 计算累计直方图以及对应的带权重的累计直方图
        int[] S = new int[Last + 1];
        int[] W = new int[Last + 1];            // 对于特大图,此数组的保存数据可能会超出int的表示范围,可以考虑用long类型来代替
        S[0] = HistGram[0];
        for (Y = First > 1 ? First : 1; Y <= Last; Y++)
        {
            S[Y] = S[Y - 1] + HistGram[Y];
            W[Y] = W[Y - 1] + Y * HistGram[Y];
        }
    
        // 建立公式(4)及(6)所用的查找表
        double[] Smu = new double[Last + 1 - First];
        for (Y = 1; Y < Smu.Length; Y++)
        {
            double mu = 1 / (1 + (double)Y / (Last - First));               // 公式(4)
            Smu[Y] = -mu * Math.Log(mu) - (1 - mu) * Math.Log(1 - mu);      // 公式(6)
        }
    
        // 迭代计算最佳阈值
        for (Y = First; Y <= Last; Y++)
        {
            Entropy = 0;
            int mu = (int)Math.Round((double)W[Y] / S[Y]);             // 公式17
            for (X = First; X <= Y; X++)
                Entropy += Smu[Math.Abs(X - mu)] * HistGram[X];
            mu = (int)Math.Round((double)(W[Last] - W[Y]) / (S[Last] - S[Y]));  // 公式18
            for (X = Y + 1; X <= Last; X++)
                Entropy += Smu[Math.Abs(X - mu)] * HistGram[X];       // 公式8
            if (BestEntropy > Entropy)
            {
                BestEntropy = Entropy;      // 取最小熵处为最佳阈值
                Threshold = Y;
            }
        }
        return Threshold;
    }





    展开全文
  • 标志绿黄红是颜色感觉的含混描述,要用模糊形式表达,可通过隶属度定义颜色(光的波长)的函数实现。输入的隶属度函数如下图: 上面提到的颜色和成熟度关系的知识可用下面的IF-THEN模糊规则给出: IF-THEN规则...

    举个例子:

    假设我们要根据颜色将某水果分成3类:生的,半熟的和成熟的。假设经过观察得出如下结论:生的水果是绿色,半数的是黄色,成熟的是红色。标志绿黄红是颜色感觉的含混描述,要用模糊形式表达,可通过隶属度定义颜色(光的波长)的函数实现。输入的隶属度函数如下图:

    上面提到的颜色和成熟度关系的知识可用下面的IF-THEN模糊规则给出:

    IF-THEN规则中,THEN左侧部分称为前提条件),右侧部分称为后果结论)。

    下一步,我们要寻找一种使用输入(颜色)和由IF-THEN规则描述的知识基础来创建模糊系统的输出方法。这一处理称为推断推理

    我们处理的输出本身也是模糊的,必须定义输出的隶属度函数,如下图:

    比较两幅图发现,输入输出的隶属度函数的自变量是不同的,一个是颜色,一个是成熟度。如果把两个隶属度函数以及基础规则结合起来看,结果将是二维的。例如”红色AND成熟“的表达,见下图:

    根据模糊集合的定义,AND定义为两个隶属度函数的最小,即:

    \mu _{3}(z,v) = min\{\mu_{red}(z),\mu_{mat}(v)\}

    下标3表示基础知识中规则R_{3}的结果。上式是两个隶属度函数的通解,我们感兴趣的是特定输入的输出结果。令z_{0}表示红色的一个特定值,则在\mu _{red}(z_{0})\mu _{3}(z,v)间执行AND操作,并在z_{0}处求值,可得到规则R_{3}下的特定输入对应的输出:

    Q_{3}(v) = min\{\mu_{red}(z_{0}),\mu_{3}(z_{0},v)\}

    Q_{3}(v)表示规则3和一个特定输入导致的模糊输出Q_{3}中的唯一变量是所期望的输出变量v。

    对于上式,分步来看。首先,\mu_{red}(z_{0})是一个常数,一个常数与\mu_{3}(z,v)做最小操作,相当于截取掉\mu_{3}(z,v)的顶部;其次,我们只对沿颜色轴的一个值z_{0}感兴趣(即\mu_{3}(z_{0},v)),相当于沿着成熟轴截取一个剖面,该剖面位于z_{0}处,见下图:

    同理,可得到由其他两个规则和特定输入导致的模糊响应:

    Q_{2}(v) = min\{\mu_{yellow}(z_{0}),\mu_{2}(z_{0},v)\} 

    Q_{1}(v) = min\{\mu_{green}(z_{0}),\mu_{1}(z_{0},v)\}

    前面定义的3个规则是用OR连接的,所以,全部模糊输出如下:

    Q = Q_{1} \mathbf{OR} Q_{2} \mathbf{OR} Q_{3}

    OR写成最大操作的形式:

    Q(v) = \max_{r}\{\min_{s}\{\mu_{s}(z_{0}),\mu_{r}(z_{0},v)\}\}

    其中,r = {1,2,3},s = {绿色,黄色,红色}。上式是通用的,可以将其扩展到n个规则,可令r = {1,2,3,...,n};类似的可以把s扩展到包含任何有限数量的隶属度函数。

    下图是对上面讨论的内容的一个总结。图(a)显示了在z_{0}处计算的3个隶属度函数。图(b)显示了对输入z_{0}的响应输出,这些模糊集合是上面图3.50(b)裁剪后的剖面,其中Q_{1}由所有的0组成,因为\mu_{green}(z_{0})=0。图(c)则是Q_{1},Q_{2},Q_{3}的并集。

    目前为止,我们得到了特定输入的完整输出,但它仍是个模糊集合。下一步称为去模糊:从模糊集合Q中得到”干脆的“输出v_{0}。去模糊常用的方法是计算该集合的重心。如果Q(v)有K种可能的值Q(1),Q(2),...,Q(K),则其重心为:

    v_{0} = \frac{\sum_{v=1}^{K}vQ(v)}{\sum_{v=1}^{K}Q(v)}

    从而得到一个”干脆的“输出。

    下面,我们考虑规则中有多条件的情况,例如有一个规则:IF颜色是红色OR坚固性是软的,THEN水果是成熟的。此时除了定义颜色的隶属度函数,还需定义坚固性的隶属度函数。下图显示这种多条件的情况,并且把基于规则的模糊逻辑使用步骤总结如下:

    补充:

    当变量数很大时,常用方便的表示方法(变量,模糊集合)将一个变量和其对应的隶属度函数配对。例如,规则IF颜色是绿的,THEN水果是生的,在这里可以写成IF(z,绿色)THEN(v,生的),z和v表示颜色和成熟度,绿色和生的分别由隶属度函数\mu_{green}(z),\mu_{verd}(v)定义的两个模糊集合。

    当处理M个IF-THEN规则,N个输入变量z_{1},z_{2},...,z_{N}和一个输出变量v,在图像中常用的规则公式如下:

    \begin{matrix} \mathbf{IF}(z_{1},A_{11})\mathbf{AND}(z_{2},A_{12})\mathbf{AND}...\mathbf{AND}(z_{N},A_{1N})\mathbf{THEN}(v,B_{1})\\ \mathbf{IF}(z_{1},A_{21})\mathbf{AND}(z_{2},A_{22})\mathbf{AND}...\mathbf{AND}(z_{N},A_{2N})\mathbf{THEN}(v,B_{2})\\ \mathbf{...}\\ \mathbf{IF}(z_{1},A_{M1})\mathbf{AND}(z_{2},A_{M2})\mathbf{AND}...\mathbf{AND}(z_{N},A_{MN})\mathbf{THEN}(v,B_{M})\\ \mathbf{ELSE}(v,B_{E}) \end{matrix}

    这里假设条件之间是AND连接。A_{ij}是与第i个规则和第j个输入变量相关联的模糊集合,B_{i}是与第i个规则相关联的模糊集合。

    必须计算每个规则的条件的所有元素,因为这里假设是AND连接,所以使用min操作,计算第i个规则的条件产生一个标量输出\lambda_{i}

    \lambda_{i} = \min\{\mu_{A_{ij}}(z_{j});j=1,2,...,N\}

    \lambda_{i}称为第i个规则的强度水平(或点火水平),用于剪切第i个规则的输出函数的一个值。

    THEN规则的条件很难满足时,执行ELSE规则。ELSE规则的强度水平如下:

    \lambda_{E} = \min\{1-\lambda_{i};i=1,2,...,M\}

    使用模糊集合进行灰度变换:

    以对比度增强为例,可以用如下的规则说明对比度增强的过程:

    IF 一个像素是暗的,THEN 使它较暗;

    IF 一个像素是灰的,THEN 使它仍是灰的;

    IF 一个像素是亮的,THEN 使它较亮。

    输入输出的隶属度函数如下:

    输出隶属度函数我们处理的是常数,如我们可以选择:v_{d} = 0(黑),v_{g} = 127(灰),v_{b} = 255(白)。对于任意的输入z_{0},输出v_{0}用前面的重心公式求:

    v_{0} = \frac{\mu_{dark}(z_{0})*v_{d}+\mu_{grey}(z_{0})*v_{g}+\mu_{bright}(z_{0})*v_{b}}{\mu_{dark}(z_{0})+\mu_{grey}(z_{0})+\mu_{bright}(z_{0})}

    微信交流
    多谢打赏

    参考资料:冈萨雷斯《数字图像处理》

    相关博文:图像处理之模糊集合原理

    展开全文
  • 2.设计模糊增强算子,在模糊集域对图像进行处理。 3.根据第1步的隶属度函数重新将图像模糊集域变换到空间域。 这和频域处理中的变换反变换不是很像么。 我使用的隶属度函数和模糊增强算子在这篇论文里,也算...

    算法有很多变种。不过主要就是以下三步。

    1.设计隶属度函数将图像从空间域变换到模糊集域。

    2.设计模糊增强算子,在模糊集域对图像进行处理。

    3.根据第1步的隶属度函数重新将图像从模糊集域变换到空间域。

    这和频域处理中的变换反变换不是很像么。

    我使用的隶属度函数和模糊增强算子在这篇论文里,也算相关算法的经典论文了。

    处理结果如下:

    原图:

    模糊集增强后:

    matlab代码如下:

    clear all; close all; clc;
    
    img=double(imread('lena.jpg'));
    imshow(img,[])
    [m n]=size(img);
    
    Fe=1;  %控制参数
    Fd=128;
    
    xmax=max(max(img));
    u=(1+(xmax-img)/Fd).^(-Fe);     %空间域变换到模糊域
    
    %也可以多次迭代
    for i=1:m                       %模糊域增强算子
       for j=1:n
          if u(i,j)<0.5
            u(i,j)=2*u(i,j)^2; 
          else
            u(i,j)=1-2*(1-u(i,j))^2;
          end
       end
    end
    
    img=xmax-Fd.*(u.^(-1/Fe)-1);    %模糊域变换回空间域
    
    figure;
    imshow(uint8(img));

     

    转载于:https://www.cnblogs.com/tiandsp/p/3191868.html

    展开全文
  • 图像处理在医学方面的应用 1、背景: 在上学期的新生研讨课中,曾兵院长介绍了图像处理的相关原理和应用图像处理(image processing)是一种用计算机对图像进行分析,以达到所需结果的技术。在获得图像之后,需要...

    电子科技大学 格拉斯哥学院 2017级 徐冰砚

    浅谈图像处理在医学方面的应用

    1、背景:

    在上学期的新生研讨课中,曾兵院长介绍了图像处理的相关原理和应用。图像处理(image processing)是一种用计算机对图像进行分析,以达到所需结果的技术。在获得图像之后,需要用专门的设备将其数字化,即通过取样和量化过程将一个以自然形式存在的图像变换为适合计算机处理的数字形式。图像在计算机内部被表示为一个数字矩阵,矩阵中每一元素称为像素。
    图像处理有各种应用途径,卫星图像处理、面孔识别特征识别、显微图像处理等等,给我印象最为深刻的是图像处理在医学方面的应用。目前临床广泛使用的医学成像模式主要分为四类:X- 射线成像、核磁共振成像(MRI)、核医学成像(NMI)、超声波成像(Ultrasonic Imaging)。图像分析可以将医学模拟图像转化为数字图像,开展了计算机辅助诊断(computer aided diagnosis)的初步研究,在一定程度上可以辅助医生分析医学图像,从而排除人为主观因素,提高诊断准确性和效率。

    2、医学图像处理技术:

    (1) 图像分割:
    由于人体的组织器官不均匀、器官蠕动等造成医学图像一般具有噪声、病变组织边缘模糊等特点, 医学图像分割技术的目的就是将图像中感兴趣的区域清楚的提取出来, 这样就能为后续的定量、定性分析提供图像基础,同时它也是三维可视化的基础。现在有的图像分割方法有如下几种:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。

    (2) 图像配准和图像融合:
    医学图像配准是指对于一幅医学图像通过一种或一系列的空间变换,使它与另一幅医学图像上的对应点达到空间上的一致。配准的结果应使两幅图像上所有的解剖点,或至少是所有具有诊断意义的点及手术感兴趣的点都达到匹配,配准处理一般可以分为图像变换和图像定位两种。
    医学图像在空间域配准之后,就可以进行图像融合,融合图像的创建又分为图像数据的融合与融合图像的显示两部分来完成。图像融合的目的是通过综合处理应用这些成像设备所得信息以获得新的有助于临床诊断的信息。利用可视化软件,对多种模态的图像进行图像融合,可以准确地确定病变体的空间位置、大小、几何形状及它与周围生物组织之间的空间关系,从而及时高效地诊断疾病,也可以用在手术计划的制定、病理变化的跟踪、治疗效果的评价等方面。

    (3) 伪彩色处理技术:

    伪彩色图像处理技术是将黑白图像经过处理变为彩色图像, 可以充分发挥人眼对彩色的视觉能力, 从而使观察者能从图像中取得更多的信息。经过伪彩色处理技术, 提高了对图像特征的识别。临床研究对CT、MRI、B 超和电镜等图片均进行了伪彩色技术的尝试, 取得了良好的效果, 部分图片经过处理后可以显现隐性病灶。

    3、总结:

    随着医疗技术的蓬勃发展,对医学图像处理提出的要求也越来越高。医学图像处理技术发展至今,仍然还有很多亟待解决的问题。有效地提高医学图像处理技术的水平、与多学科理论的交叉融合、医务人员和计算机理论技术人员之间的交流就显得越来越重要。总之,医学图像作为现代医疗诊断的重要依据,必将在医药信息研究领域和计算机图像处理领域受到更多的关注。

    4、参考文献:
    [1]王新成.高级图像处理技术[M].北京:中国科学技术出版社,2001.
    [2]丁莹.图像配准技术在医学图像处理中的应用研究[M].长春理工大学,2006.12.
    [3]田捷.医学影像处理与分析[M], 电子工业出版社, 2003.
    [4]田娅, 饶妮妮, 蒲立新.国内医学图像处理技术的最新动态[J].电子科技大学学报, 2002(5): 485- 489.
    图片来源:(https://baike.baidu.com/item/医学图像分析/3939451#2)

    展开全文
  • , 这个应用可以在很大程度上消除相机拍摄图像的抖动模糊。效果图如下: 效果虽然不算完美,但是也很令人惊讶。 一直以来对这个领域了解不是很多,今天看到这个,就在网上搜索

    原文地址:http://www.bfcat.com/index.php/2012/10/deblur/

    今天看到新浪微博上面转发的一个应用叫做 Enhance!, 这个应用可以在很大程度上消除相机拍摄图像的抖动模糊。效果图如下:





    效果虽然不算完美,但是也很令人惊讶。

    一直以来对这个领域了解不是很多,今天看到这个,就在网上搜索了一下这方面的资料。看到香港中文大学的Jiaya Jia以及美国哥伦比亚大学CAVE实验室这方面的研究主页。

    下面两个都是Jiaya Jia的项目主页:

    http://www.cse.cuhk.edu.hk/~leojia/projects/motion_deblurring/index.html

    http://www.cse.cuhk.edu.hk/~leojia/projects/robust_deblur/index.html

    没有仔细看他们的论文,但是通过一些介绍,可以了解到,简单的图像模糊可以看作是模糊核与原始图像进行了卷积,因此模糊核估计是图像去模糊的一个重要部分。如果模糊核已知,那么算法就退化为Non-blind Image Deconvolution。

    Jiaya Jia的方法主要是针对一张已经有了运动模糊的图像,算法分为 模糊核估计以及图像恢复两个步骤,这两步构成了一个迭代优化框架。即首先估计模糊核,然后对图像恢复,然后重新估计模糊核,恢复图像,最终直到收敛。他们的另一个主要贡献在于分析了造成图像模糊的多种因素,进而提出了估计模糊核更好的概率模型。

    这是他们在SIGGRAPH2008的文章结果之一,效果已经相当好了。


    哥伦比亚大学的这个项目主页要更老一些,2004年的

    http://www1.cs.columbia.edu/CAVE/projects/motion_deblur/motion_deblur.php

    这个项目中,作者发明了一种混合相机,通过均衡时间分辨率与空间分辨率来进行相机运动的预测,从而更好的估计出点扩散方程(PSF)。也就是运动模糊的模糊核。







    展开全文
  • 通常,图像处理软件会提供"模糊"(blur)滤镜,使图片产生模糊的效果。 "模糊"的算法有很多种,其中有一种叫做"高斯模糊"(Gaussian Blur)。它将正态分布(又名"高斯分布")用于图像处理。 本文介绍"高斯模糊...
  • 在数字图像上进行平滑操作,就是需要用模板(高斯模板,均值模板)在图像上做卷积,得到新值,这就是模糊的原理。卷积核中的每个元素叫做卷积系数,卷积核中卷积系数的大小、方向及排列次序决定图像卷积后处理的最终...
  • 只对高斯与散焦模糊的非盲去卷积领域,对于运动模糊并未做总结,但实际上除了点扩散函数的估计有区别,实际上这三类去模糊甚至和去噪,损失函数模型都可以通用。 这里对于只做一家之言,如有反对意见请留言指正: ...
  • 图像处理与识别

    2016-07-01 08:45:03
    图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。 数字图像处理是信号处理的子类, 另外与...
  • 数字图像处理技术在当代社会发展迅速,发挥着不可替代的作用,被广泛应用于航空航天、通信、医学及工业生产等领域中。随着现代科技的不断发展、技术的不断进步,人们对数字图像处理的速度和质量提出了越来越高的要求...
  • 模糊集合理论

    2017-09-26 20:34:25
    模糊集合 模糊集合的引出 经典的集合理论,一个元素是否属于集合,只有真或者假两种情况。比如我们想要定义一个集合表示“年轻人”,那么我们需要设置一个阈值,当一个人的年龄小于这阈值的时候,就认为这个人属于...
  • 视频图像模糊常用处理方法 随着“平安城市”的广泛建设,各大城市已经建有大量的视频监控系统,虽然监控系统己经广泛地存在银行、商场、车站和交通路口等公共场所,但是在公安工作中,由于设备或者其他条件的...
  • 点击上方“AI算法与图像处理”,选择加"星标"或“置顶”重磅干货,每天 8:25 送达作者:黄浴 「 超级大牛,知乎搜索可知~超多技术干货」编辑:AI算法与图像处理来源...
  • 第 1 章 基本的图像操作和处理本章讲解操作和处理图像的基础知识,将通过大量...1.1 PIL:Python图像处理类库PIL(Python Imaging Library Python,图像处理类库)提供了通用的图像处理功能,以及大量有用的基本图...
  • 在我的理解里,要实现计算机视觉必须有图像处理的帮助,而图像处理倚仗与模式识别的有效运用,而模式识别是人工智能领域的一个重要分支,人工智能与机器学习密不可分。纵观一切关系,发现计算机视觉的应用服务机器...
  • 图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。 数字图像处理是信号处理的子类, 另外与...
  • 小波变换图像处理

    2015-11-15 13:04:30
    应用小波变换对图像处理 图像金字塔,每一层的像素数为(2^i,2^j):图像金字塔基本操作 对一张图像不断的模糊之后向下采样,得到不同分辨率的图像,同时每次得到的 新的图像宽与高是原来图像的1/2,...
  • 数字图像处理数字图像处理 一学习内容总结 第一章 绪论 1 什么是数字图像处理 2 使用数字图像处理领域的实例 3 数字图像处理的基本步骤 4 图像处理系统的组成 第二章 数字图像处理基础 1 视觉感知要素 2 光和电磁...
  • 数字图像处理方法的重要性源于两个主要应用领域: 改善图像信息以便解释。 为存储、传输和表示而对图像数据进行处理,以便于机器自动理解。 图像处理(image processing): 用计算机对图像...
1 2 3 4 5 ... 20
收藏数 13,286
精华内容 5,314