图像处理中的边缘密度

2019-08-16 08:48:45 weixin_42137700 阅读数 939

2019-08-15 21:39:20

随着计算机软件、硬件技术的日新月异的发展和普及,人类已经进入一个高速发展的信息化时代,人类大概有80%的信息来自图像,科学研究、技术应用中图像处理技术越来越成为不可缺少的手段。安防行业已经进入一个崭新的时代,高清、智能与大数据和云技术的广泛结合应用,成为时代新的话题。随着而来的是,视频图像处理技术也逐渐成熟起来,只有这样才能切合行业技术发展,为此,对于视频图像处理技术的研究成为安防行业值得重视的领域。

视频图像处理技术的应用价值

视频图像处理技术简而言之就是用计算机对视频数字图像进行处理,其本质是一种信号处理过程,而且是离散信号处理。在视频监控行业为什么要进行图像处理呢?那我们就需要分析视频图像处理后所带来的优势有哪些?

其一,提高图像的视感质量,如进行图像的亮度、彩色变换,增强、抑制某些成分,对图像进行几何变换等,以改善视频图像的质量。

其二,提取视频图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往为计算机分析图像提供便利。提取特征或信息的过程是计算机或计算机视觉的预处理。提取的特征可以包括很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。

其三,视频图像增强与复原。图像增强的目的是将图像转换为更适合人和机器的分析的形式。常用的增强方法有:灰度等级直方图处理;干扰抵制;边缘锐化;伪彩色处理。图像复原的目的与图像增强相同,其主要原则是为了消除或减少图像获取和传输过程中造成的图像的损伤和退化,这包括图像的模糊、图像的干扰和噪声等,尽可能的获得原来的真实图像。无论是图像增强还是图像的复原,都必须对整副图像的所有像素进行运算,出于图像像素的大数量考虑,其运算也十分的巨大。编码的目的是在不改变图像的质量基础上压缩图像的信息量,以满足传输与存储的要求。编码多采用数字编码技术对图像逐点的进行加工。这一点在公安针对视频图像来还原细节中经常遇到。

其四,图像的分析。从图像中抽取某些有用的度量、数据和信息,以的到某种数值结果。图像分析用图像分割方法抽取图像的特征然后对图像进行符号化的描述,这种描述不仅能对图像是否存在某一特定的对象进行回答,还能对图像内容进行详细的描述。

其五,能使图像再现性。数字图像处理与模拟图像处理的根本不同在于,它不会因图像的存储、传输或复制等一系列变换操作而导致图像质量的退化,只要图像在数字化时准确地表现了原稿,则数字图像处理过程始终能保持图像的再现。

其六,灵活多变的处理功能。针对模拟技术而言,我们现在的视频监控图像处理技术可以把监控画面分割为任意大小的二维数组,这意味着图像的数字化精度可以达到满足任一应用需求,符合行业高清化趋势。

其七,适用面宽。视频监控图像可以来自多种信息源,比如可以是银行画面,也可以是机场或者海事等远距离监控,不论是来自哪个行业的信息源的图像只要被变换为数字编码形式后,均是用二维数组表示的灰度图像组合而成,

其八,灵活性高。数字图像处理不仅能完成线性运算,而且能实现非线性处理,即凡是可以用数学公式或逻辑关系来表达的一切运算均可用数字图像处理实现。

不过,视频图像处理技术占用的频带较宽,,所以在成像、传输、存储、处理、显示等各个环节的实现上,技术难度较大,成本也高,这就需要我们了解制约视频图像处理技术的因素。

视频图像处理技术的主流技术

视频图像处理就技术而言涉及的知识面十分广阔,具体方法种类繁多,应用也极为普遍,但如果在安防行业角度分析,该技术的主要内容包括三大部分:图像压缩;增强和复原;匹配、描述和识别。由于超高清的要求,在图像压缩方面H.265自然优势大,由于关于H.265的技术专题已经阐述了和视频图像处理的关系,本文就不在这方面做具体介绍。为此,在剩下的两部分我们目前主要关注的视频图像处理技术有以下几个方面:

智能分析处理技术

智能分析处理技术是目前中国安防行业较为关注的图像处理技术,该技术简而言之,就是发现图像中运动的物体,并对其进行跟踪、分析,及时发现异常行为,触发报警并采取其他措施进行干预。智能分析处理技术是基于监控图像处理软件包而开发的,主要有以下几种图像处理形式:

1、将(运动)目标从视频图像中分离出来。2、对目标进行行为分析,判定其运动的方向、方式,并能发现和告警异常的行为;产生目标的运动轨迹,并能进行目标的自动跟踪。3、实现视频语义的解析,图像处理分析的高层次。通过对一个图像序列作出分析,得出其包含的真实信息,可以与话音的语义解析结合起来,逐步实现视频语义的解析。4、在复杂环境下实现目标的分离、行为分析和运动跟踪,特别是实现多目标的跟踪。

上述几点早已有实际应用(比如,单绊线入侵检测、多绊线、围栏入侵、进入/退出区域检测、徘徊检测、遗留物检测、物体搬移检测、物体出现检测、物体消失检测、人群密度、人群突变、奔跑检测、逆向检测、人流量、火焰检测、烟雾检测、场景变化、单球机PTZ自动跟踪等),但基本上是在简单环境下,针对少数目标进行智能化的图像处理。在复杂环境视频监控环境(多人流、多移动、恶劣天气)下实现这些功能,是图像智能分析处理技术真正价值所在。要解决多个图像的综合分析,图像间目标的关联,目标跟踪的连续性,这都是市场应用的迫切需要,也是我们亟待解决的问题。

宽动态技术

宽动态技术是松下第一个在监控行业尝试,那是1977年它的宽动态范围是40倍,引入国内受到业界追捧是在2005年的深圳安博会。两年后,美国PIXIM方案也在市场上广为流行,成为宽动态的另一种选择。

宽动态视频图像处理技术主要是用来解决摄像机在宽动态场景中采集的图像出现亮区域过曝而暗区域曝光不够的现象。简而言之,宽动态技术可以使场景中特别亮的区域和特别暗的区域在最终成像中同时看清楚。这种技术是安防行业应为普遍的视频图像处理技术,经过十多年的市场洗礼和技术提升,目前还是存在一些不足。一是源自它在高亮区域短曝特征,会导致在日光灯场景下亮区域出现横条纹闪烁,这是常见的日光灯工频引起的闪烁现象,因为在亮区域的曝光时间非常短,没有达到抗闪所需的最低曝光时间;二是源自它在暗区域长曝特征,当物体进行高速运动时会因过长的曝光时间而产生拖影现象。

透雾处理

这个技术在2010年随着高清的到来开始在国内应用,当时日立推出的机芯产品就主打透雾功能。该技术是可实时处理各种雾霾天气中的视频图像,去除由雾霾造成的景象朦胧、模糊、看不清或看不见的情况,能够显著增强视频图像的细节信息,使原来被遮隐的图像细节得以充分展现,并保持了原有的色彩色调,使视频图像变得极其明亮、通透和清晰,因而获得了良好的图像质量与视觉感受。

无损实时放大处理

可实时对视频图像进行各种倍率的放大,放大的视频图像没有任何模糊和马赛克,并能够对原视频图像的细节部分予以充分的保留。

强光抑制处理

可实时对视频图像中的强光亮点或区域进行抑制,使强光范围和亮度减小,恢复被强光散射遮掩的目标景物的轮廓和色彩,获得清晰的视频图像。

去除模糊处理

可处理图像中的散焦模糊和运动模糊等,使被观察景物图像变得清晰。

前三种可以说是目前安防行业关注的三种视频图像处理技术,后三者的图像处理由于各个厂家大多采用市面上几个主流的产品方案,以至于在产品性能表现时都没有多大优劣区别。

视频图像处理技术在安防的要求特殊

由于计算机的处理速度极快,且数字信号具有失真小、易保存、易传输、抗干扰能力强等特点,因而计算机图像处理的应用十分广泛,包括航空航天、遥测技术、医疗器械、工业自动化检测、安全识别、安防监控、娱乐媒体等各大领域。每一个应用领域都有其领域的特殊性要求,安防监控行业应用也有其固有的特殊性。

对图像清晰度要求较高。在治安监控现场,公安机关往往需要通过监控录像来辨认嫌疑人、证据等。一般清晰度不高的视频都达不到这种要求。在交通监控现场,交警需要通过监控图像来识别车牌、违章行为、驾驶人等要求,模糊的图像在这种场合根本无法应用。

不同的行业监控,对图像要求的差异性。比如医疗监控,对图像的色彩还原性要求比较高。智能交通监控,对摄像机夜间照度和抓拍速度要求比较高,要求能清晰辨别车牌。在无人值守监控,需要设备在无人看管的条件下能长期稳定的工作。

户外安装,无人看守。在安防领域,大多情况设备需要安装在室外,设备需要经受常年的风吹日晒。要经历常年温度、湿度、盐度、辐射等自然条件的影响。电子设备自身的老化的速度会比其他领域要相对快一些。摄像机镜头、电子设备、传输线路等设施的老化会导致图像越来越模糊。

海量视频路数的要求。在大型平安城市监控项目中,视频路数会达到上万路,甚至更多路。如此海量的视频路数,对网络带宽、存储设备都提出了很高的要求。所以在视频监控领域都期望视频编码的码率压缩比达到较高水平,从而降低对带宽和容量的要求。这就导致在视频编码环节产生更多的信息丢失,从而导致

图像模糊

安防的这些特殊应用场所,都会导致图像清晰度的下降,反过来又对图像清晰度有很高的要求,势必会导致模糊图像处理技术在这里有广阔的应用前景。

视频监控图像处理技术发展趋势

之前也介绍了智能视频分析和宽动态在技术应用中还是存在一些不足或者说发展空间,比如在提高精度的同时着重解决处理速度的问题,巨大的信息量和数据量和处理速度仍然是一对主要矛盾。除此之外,视频监控图像处理技术由于部分设备性能不足、客观条件限制等因素,在实际的视频监控应用中,仍会出现视频图像模糊不清、关键信息捕捉不到等问题。而在视频图像处理的过程中,由于操作技术问题或者客观因素等,给视频图像处理技术的应用带来一些负面影响,降低了处理技术的水平和质量。所以,我们在探究该技术的未来发展趋势就便得十分有意义。有几个趋势如下:

其一,在大数据时代,未来数据图像技术强调高清晰度、高速传输、实时图像处理、三维成像或多维成像、智能化、自动化等方向发展。

其二,智能化方面,力争使计算机识别和理解能够按照人的认识和思维方式工作,能够考虑到主观概率和非逻辑思维。这里有一点需要指出,AI在智能化方面可以做图像数据与内容的提取与分析,但是并不能在视频图像处理方面做文章。

其三,未来视频图像处理技术强调操作、运用的方便性,图像处理功能的集中化趋势是必然会存在的。所以,硬件芯片的开发研究十分重要,如Thomson公司采用Systolic结构设计了把图像处理的众多功能固化在芯片上。

结束语

图像处理技术起源于20世纪20年代,当时通过海底电缆从英国伦敦到美国纽约采用数字压缩技术传输了第一幅数字照片。许多年过去,视频图像处理技术被安防行业大量应用,技术更新日新月异。如果把图像处理当做一个细节的话,那么,细节将决定成败,监控行业亦如此。

2009-07-23 22:30:00 byxdaz 阅读数 23744

图像处理与识别学习小结

 

数字图像处理是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。 数字图像处理是信号处理的子类, 另外与计算机科学、人工智能等领域也有密切的关系。 传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。大多数用于一维信号处理的概念都有其在二维图像信号领域的延伸,它们中的一部分在二维情形下变得十分复杂。同时图像处理也具有自身一些新的概念,例如,连通性、旋转不变性,等等。这些概念仅对二维或更高维的情况下才有非平凡的意义。图像处理中常用到快速傅立叶变换,因为它可以减小数据处理量和处理时间。
数字图像处理应用在以下方面

摄影及印刷 (Photography and printing)

卫星图像处理 (Satellite image processing)

医学图像处理 (Medical image processing)

面孔识别, 特征识别 (Face detection, feature detection, face identification)

显微图像处理 (Microscope image processing)

汽车障碍识别 (Car barrier detection)

 

数字图像基础

图像的基本概念、图像取样和量化、数字图像表示、 空间和灰度级分辨率、图像纹理、像素间的一些基本关系(相邻像素、邻接性、连通性、区域和边界、距离度量)、线性和非线性变换

线性变换:如果变换函数是线性的或是分段线性,这种变换就是线性变换。以线性函数加大图像的对比度的效果是使整幅图像的质量改善。以分段线性函数加大图像中某个(或某几个)亮度区间的对比度的效果是使局部亮度区间的质量得到改善。

非线性变换:当变换函数是非线性时,即为非线性变换。常用的有指数变换和对数变换。

RGB (red green blue): 红绿蓝三基色

CMYK (Cyan-Magenta-Yellow-black inK): 青色-品红-黄色-黑色

HSI (Hue-Saturation-Intensity): 色调-饱和度-强度

DDB (device-dependent bitmap): 设备相关位图

DIB (device-independent bitmap): 设备无关位图

CVBS (Composite Video Broadcast Signal): 复合电视广播信号

YUV(亦称Y Cr Cb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL制)。

 



 

数字图像存储与显示

图像格式

在计算机中,有两种类型的图:矢量图(vector graphics)和位映象图(bitmapped graphics)。矢量图是用数学方法描述的一系列点、线、弧和其他几何形状,如图(a)所示。因此存放这种图使用的格式称为矢量图格式,存储的数据主要是绘制图形的数学描述;位映象图(bitmapped graphics)也称光栅图(raster graphics),这种图就像电视图像一样,由象点组成的,如图(b),因此存放这种图使用的格式称为位映象图格式,经常简称为位图格式,存储的数据是描述像素的数值。

 

矢量图与位映象图

目前包括bmp格式、gif格式、jpeg格式、jpeg2000格式、tiff格式、psd格式、

Png格式、swf格式、svg格式、pcx格式、dxf格式、wmf格式、emf格式、LIC格式、eps格式、TGA格式。

目前比较出名的图像处理库有很多,比如LEADTOOLSOPENCVLEADTOOLS这个是功能非常强大的图像多媒体库,但是这个是收费注册的。OpenCV 是一个跨平台的中、高层 API 构成,目前包括 300 多个 C 函数。它不依赖与其它的外部库,尽管也可以使用某些外部库。OpenCV 对非商业用途和商业用途都是免费(FREE)的。开源的图像库也有不少,比如:

ImageStoneGIMPCxImage等,虽然它们的功能没有LEADTOOLS强大,但是一般的图像处理是可以应付的。

具体的功能介绍参考:http://blog.csdn.net/byxdaz/archive/2009/03/09/3972293.aspx

OpenCV源代码及文档下载:SOURCEFORGE.NET
http://sourceforge.net/projects/opencvlibrary/

 

 

数字图像增强

图像增强的目的在于改善图像的显示质量,以利于信息的提取和识别。从方法上说,则是设法摒弃一些认为不必要或干扰的信息,而将所需要的信息得以突出出来,以利于分析判读或作进一步的处理。以下介绍几种较为简单的遥感数字图像增强处理方法。

A空间域增强处理

空间域是指图像平面所在的二维空间,空间域图像增强是指在图像平面上应用某种数学模型,通过改变图像像元灰度值达到增强效果,这种增强并不改变像元的位置。空域增强包括空域变换增强与空域滤波增强两种。空域变换增强是基于点处理的增强方法、空域滤波增强是基于邻域处理的增强方法。

1)、空域变换增强

常用的空域变换增强方法包括:对比度增强、直方图增强和图像算术运算等。

对比度增强是一种通过改变图像像元的亮度分布态势,扩展灰度分布区间来改变图像像元对比度,从而改善图像质量的图像处理方法。因为亮度值是辐射强度的反映,所以也称为辐射增强。常用的方法有对比度线性变换和非线性变换。其关键是寻找到一个函数,以此函数对图像中每一个像元进行变换,使像元得到统一的重新分配,构成得到反差增强的图像。

直方图增强

直方图均衡化

     直方图均衡化基本做法是将每个灰度区间等概率分布代替了原来的随机分布,即增强后的图象中每一灰度级的像元数目大致相同。直方图均衡化可使得面积最大的地物细节得以增强,而面积小的地物与其灰度接近的地物进行合并,形成综合地物。减少灰度等级换取对比度的增大。

直方图归一化 

     直方图归一化是把原图像的直方图变换为某种指定形态的直方图或某一参考图像的直方图,然后按着已知的指定形态的直方图调整原图像各像元的灰级,最后得到一个直方图匹配的图像。这种方法主要应用在有一幅很好的图像作为标准的情况下,对另一幅不满意的图像用标准图像的直方图进行匹配处理,以改善被处理图像的质量。如在数字镶嵌时,重叠区影像色调由于时相等原因差异往往很大,利用直方图匹配这一方法后可以改善重叠区影像色调过度,如果镶嵌图像时相相差不大,完全可以作到无缝镶嵌。

数字图像的算术运算

两幅或多幅单波段影像,完成空间配准后,通过一系列运算,可以实现图像增强,达到提取某些信息或去掉某些不必要信息的目的。

  

2)、空域滤波增强

空域变换增强是按像元逐点运算的,从整体上改善图像的质量,并不考虑周围像元影响。空间滤波增强则是以重点突出图像上的某些特征为目的的(如突出边缘或纹理等),通过像元与周围相邻像元的关系,采取空间域中的邻域处理方法进行图像增强。邻域法处理用于去噪声、图像平滑、锐化和相关运算。

图像卷积运算是在空间域上对图像作局部检测的运算,以实现平滑和锐化的目的。具体作法是选定一卷积函数,又称为“M×N窗口模板,如3×35×5等。然后从图像左上角开始开一与模板同样大小的活动窗口,图像窗口与模板像元的亮度值对应相乘再相加。将计算结果赋予中心像元作为其灰度值,然后待移动后重新计算,将计算结果赋予另一个中心像元,以此类推直到全幅图像扫描一遍结束生成新的图像。

平滑是指图像中出现某些亮度变化过大的区域,或出现不该有的亮点(噪声)时,采用平滑方法可以减小变化,使亮度平缓或去掉不必要噪声点。它实际上是使图像中高频成分消退,即平滑图像的细节,降低其反差,保存低频成分,在频域中称为低通滤波。具体方法有:均值平滑、中值滤波、锐化。

锐化的作用在于提高边缘灰度值的变化率,使界线更加清晰。它是增强图像中的高频成分,在频域处理中称为高通滤波,也就是使图像细节的反差提高,也称边缘增强。要突出图像的边缘、线状目标或亮度变化率大的部分常采用锐化方法。一般有三种实现方法:

1)梯度法

    梯度反映了相邻像元的亮度变化率,即图像中如果存在边缘,如湖泊、河流的边界,山脉和道路等,则边缘处有较大的梯度值。对于亮度值较平滑的部分,亮度梯度值较小。因此,找到梯度较大的位置,也就找到边缘,然后再用不同的梯度计算值代替边缘处像元的值,也就突出了边缘,实现了图像的锐化。通常有罗伯特梯度和索伯尔梯度方法。

2)拉普拉斯算法

    拉普拉斯算法的意义与梯度法不同,它不检测均匀的亮度变化,而是检测变化率的变化率,相当于二阶微分。计算出的图像更加突出亮度值突变的位置。

3)定向检测

    当有目的地检测某一方向的边、线或纹理特征时,可选择特定的模板卷积运算作定向检测。可以检测垂直边界、水平边界和对角线边界等,各使用的模板不同

 

B频率域图像增强处理
频域增强指在图像的频率域内,对图像的变换系数(频率成分)直接进行运算,然后通过Fourier逆变换以获得图像的增强效果。

一般来说,图像的边缘和噪声对应Fourier变换中的高频部分,所以低通滤波能够平滑图像、去除噪声。

图像灰度发生聚变的部分与频谱的高频分量对应,所以采用高频滤波器衰减或抑制低频分量,能够对图像进行锐化处理。

频域,就是由图像f(x,y)的二维傅立叶变换和相应的频率变量(u,v)的值所组成的空间。在空间域图像强度的变化模式(或规律)可以直接在该空间得到反应。F(0,0)是频域中的原点,反应图像的平均灰度级,即图像中的直流成分;低频反映图像灰度发生缓慢变化的部分;而高频对应图像中灰度发生更快速变化的部分,如边缘、噪声等。但频域不能反应图像的空间信息。

 

 

二维DFT及其反变换、Fast FT

关于这方面的内容需要参考数学知识。

空域和频域滤波间的对应关系:

卷积定理是空域和频域滤波的最基本联系纽带。二维卷积定理:

 

 

 


基本计算过程:

  1. 取函数h(m,n)关于原点的镜像,得到h(-m,-n)
  2. 对某个(x,y),使h(-m,-n)移动相应的距离,得到h(x-m,y-n)
  3. 对积函数f(m,n)h(x-m,y-n)(m,n)的取值范围内求和
  4. 位移是整数增量,对所有的(x,y)重复上面的过程,直到两个函数:f(m,n)h(x-m,y-n)不再有重叠的部分。

 

傅立叶变换是空域和频域的桥梁,关于两个域滤波的傅立叶变换对:

 

 

 

 

 

 

 

 


频域与空域滤波的比较:

1. 对具有同样大小的空域和频率滤波器:h(x,y), H(u,v),频域计算(由于FFT)往往更有效(尤其是图像尺寸比较大时)。但对在空域中用尺寸较小的模板就能解决的问题,则往往在空域中直接操作。

2. 频域滤波虽然更直接,但如果可以使用较小的滤波器,还是在空域计算为好。    因为省去了计算傅立叶变换及反变换等步骤。

3. 由于更多的直观性,频率滤波器设计往往作为空域滤波器设计的向导。

 

平滑的频率域滤波器类型
、理想低通滤波器
、巴特沃思低通滤波器
、高斯低通滤波器
频率域锐化滤波器类型
理想高通滤波器
巴特沃思高通滤波器

高斯型高通滤波器

频率域的拉普拉斯算子
钝化模板、高频提升滤波和高频加强滤波
频率域图像增强处理的过程:

 

 

图像复原
图像复原:试图利用退化过程的先验知识,去恢复已被退化图像的本来面目。

 

图像复原的基本思路:先建立退化的数学模型,然后根据该模型对退化图像进行拟合。

图像复原模型可以用连续数学和离散数学处理,处理项的实现可在空间域卷积,或在频域相乘。 
参考资料:
http://download.csdn.net/source/1513324

 


边缘检测

数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础,图像理解和分析的第一步往往就是边缘检测,目前它以成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。所谓边缘就是指图像局部亮度变化最显著的部分,它是检测图像局部变化显著变化的最基本的运算。边缘的记录有链码表和线段表2种,链码表适合计算周长,线段表容易计算面积以及相关的,他们之间可以相互的转换

常见的边缘检测算法:

Roberts边缘检测算子

Sobel边缘算子

Prewitt边缘算子

Kirsch边缘算子

CANNY边缘检测

 


图像压缩
图像压缩是数据压缩技术在数字图像上的应用,它的目的是减少图像数据中的冗余信息从而用更加高效的格式存储和传输数据。图像压缩可以是有损数据压缩也可以是无损数据压缩。对于如绘制的技术图、图表或者漫画优先使用无损压缩,这是因为有损压缩方法,尤其是在低的位速条件下将会带来压缩失真。如医疗图像或者用于存档的扫描图像等这些有价值的内容的压缩也尽量选择无损压缩方法。有损方法非常适合于自然的图像,例如一些应用中图像的微小损失是可以接受的(有时是无法感知的),这样就可以大幅度地减小位速。

无损图像压缩方法有:

行程长度编码

熵编码法

LZW算法

有损压缩方法有:

将色彩空间化减到图像中常用的颜色。所选择的颜色定义在压缩图像头的调色板中,图像中的每个像素都用调色板中颜色索引表示。这种方法可以与 抖动(en:dithering)一起使用以模糊颜色边界。

色度抽样,这利用了人眼对于亮度变化的敏感性远大于颜色变化,这样就可以将图像中的颜色信息减少一半甚至更多。

变换编码,这是最常用的方法。首先使用如离散余弦变换(DCT)或者小波变换这样的傅立叶相关变换,然后进行量化和用熵编码法压缩。

分形压缩(en:Fractal compression)。



形态学图像处理
 
膨胀与腐蚀

 膨胀
腐蚀
开操作与闭操作
击中或击不中变换
一些基本的形态学算法

边界提取
区域填充
连通分量的提取
凸壳
细化
粗化
骨架

裁剪


图像分割
图像分割是指通过某种方法,使得画面场景中的目标物被分为不同的类别。通常图像分割的实现方法是,将图像分为“黑”、“白”两类,这两类分别代表了两个不同的对象。

图像分割方法:阈值分割区域分割、数学形态学、模式识别方法

A、阈值分割包括以下几种:

1)由直方图灰度分布选择阈值

2)双峰法选择阈值

3)迭代法选取阈值

     原理如下,很好理解。

     迭代法是基于逼近的思想,其步骤如下:
      1. 求出图象的最大灰度值和最小灰度值,分别记为ZMAX和ZMIN,令初始阈值T0=(ZMAX+ZMIN)/2;
     2. 根据阈值TK将图象分割为前景和背景,分别求出两者的平均灰度值ZO和ZB;
     3. 求出新阈值TK+1=(ZO+ZB)/2;
     4. 若TK=TK+1,则所得即为阈值;否则转2,迭代计算。

4 )大津法选择阈值

大津法是属于最大类间方差法,它是自适应计算单阈值的简单高效方法,或者叫(Otsu

大津法由大津于1979年提出,对图像Image,记t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。图像的总平均灰度为:u=w0*u0+w1*u1。从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大时t即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值t分割出的前景和背景两部分构成了整幅图像,而前景取值u0,概率为 w0,背景取值u1,概率为w1,总均值为u,根据方差的定义即得该式。因方差是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大, 当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小。直接应用大津法计算量较大,因此一般采用了等价的公式g=w0*w1*(u0-u1)2

5)由灰度拉伸选择阈值

大津法是较通用的方法,但是它对两群物体在灰度不明显的情况下会丢失一些整体信息。因此为了解决这种现象采用灰度拉伸的增强大津法。在大津法的思想上增加灰度的级数来增强前两群物体的灰度差。对于原来的灰度级乘上同一个系数,从而扩大了图像灰度的级数。试验结果表明不同的拉伸系数,分割效果差别比较大。

 

B、区域的分割

区域生长、区域分离与合并

 区域生长算法


C基于形态学分水岭的分割

分水岭分割算法


图像特征提取与匹配

常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。

A 颜色特征

特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。

常用的特征提取与匹配方法:

颜色直方图

其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。

颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。

 

B 纹理特征

纹理特征的提取方法比较简单,它是用一个活动的窗口在图像上连续滑动,分别计算出窗口中的方差、均值、最大值、最小值及二者之差和信息熵等,

形成相应的纹理图像,当目标的光谱特性比较接近时,纹理特征对于区分目标可以起到积极的作用。选取适当的数据动态变化范围,进行纹理特征提取后,使影像的纹理特征得到突出,有利于提取构造信息。

特点:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。另外,由于有可能受到光照、反射情况的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理。

常用的特征提取与匹配方法:

纹理特征描述方法分类

1)统计方法统计方法的典型代表是一种称为灰度共生矩阵的纹理特征分析方法Gotlieb Kreyszig 等人在研究共生矩阵中各种统计特征基础上,通过实验,得出灰度共生矩阵的四个关键特征:能量、惯量、熵和相关性。统计方法中另一种典型方法,则是从图像的自相关函数(即图像的能量谱函数)提取纹理特征,即通过对图像的能量谱函数的计算,提取纹理的粗细度及方向性等特征参数

2)几何法

所谓几何法,是建立在纹理基元(基本的纹理元素)理论基础上的一种纹理特征分析方法。纹理基元理论认为,复杂的纹理可以由若干简单的纹理基元以一定的有规律的形式重复排列构成。在几何法中,比较有影响的算法有两种:Voronio 棋盘格特征法和结构法。

3)模型法

模型法以图像的构造模型为基础,采用模型的参数作为纹理特征。典型的方法是随机场模型法,如马尔可夫(Markov)随机场(MRF)模型法和 Gibbs 随机场模型法

4)信号处理法

纹理特征的提取与匹配主要有:灰度共生矩阵、Tamura 纹理特征、自回归纹理模型、小波变换等。

灰度共生矩阵特征提取与匹配主要依赖于能量、惯量、熵和相关性四个参数。Tamura 纹理特征基于人类对纹理的视觉感知心理学研究,提出6种属性,即

:粗糙度、对比度、方向度、线像度、规整度和粗略度。自回归纹理模型(simultaneous auto-regressive, SAR)是马尔可夫随机场(MRF)模型的一种应用实例。

 

C形状特征

特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,

常用的特征提取与匹配方法:

通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。

几种典型的形状特征描述方法:

1)边界特征法该方法通过对边界特征的描述来获取图像的形状参数。其中Hough 变换检测平行直线方法和边界方向直方图方法是经典方法。Hough 变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法,其基本思想是点—线的对偶性;边界方向直方图法首先微分图像求得图像边缘,然后,做出关于边缘大小和方向的直方图,通常的方法是构造图像灰度梯度方向矩阵。

2)傅里叶形状描述符法

傅里叶形状描述符(Fourier shape descriptors)基本思想是用物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性,将二维问题转化为一维问题。

由边界点导出三种形状表达,分别是曲率函数、质心距离、复坐标函数。

3)几何参数法

形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法(shape factor)。在 QBIC 系统中,便是利用圆度、偏心率、主轴方向和代数不变矩等几何参数,进行基于形状特征的图像检索。

 

D空间关系特征

特点:所谓空间关系,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强调的是目标之间的距离大小以及方位。显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。
空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。为了检索,除使用空间关系特征外,还需要其它特征来配合。

常用的特征提取与匹配方法:

提取图像空间关系特征可以有两种方法:一种方法是首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。

 

 

模式识别

模式识别是一种从大量信息和数据出发,在专家经验和已有认识的基础上,利用计算机和数学推理的方法对形状、模式、曲线、数字、字符格式和图形自动完成识别的过程。模式识别包括相互关联的两个阶段,即学习阶段和实现阶段,前者是对样本进行特征选择,寻找分类的规律,后者是根据分类规律对未知样本集进行分类和识别。广义的模式识别属计算机科学中智能模拟的研究范畴,内容非常广泛,包括声音和语言识别、文字识别、指纹识别、声纳信号和地震信号分析、照片图片分析、化学模式识别等等。计算机模式识别实现了部分脑力劳动自动化。

模式识别--对表征事物或现象的各种形式的(数值的,文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。

模式还可分成抽象的和具体的两种形式。前者如意识、思想、议论等,属于概念识别研究的范畴,是人工智能的另一研究分支。我们所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、文字、符号、三位物体和景物以及各种可以用物理的、化学的、生物的传感器对对象进行测量的具体模式进行分类和辨识。

模式识别问题指的是对一系列过程或事件的分类与描述,具有某些相类似的性质的过程或事件就分为一类。模式识别问题一般可以应用以下4种方法进行分析处理。

模版比对:

统计模式识别方法:统计模式识别方法是受数学中的决策理论的启发而产生的一种识别方法,它一般假定被识别的对象或经过特征提取向量是符合一定分布规律的随机变量。其基本思想是将特征提取阶段得到的特征向量定义在一个特征空间中,这个空间包含了所有的特征向量,不同的特征向量,或者说不同类别的对象都对应于空间中的一点。在分类阶段,则利用统计决策的原理对特征空间进行划分,从而达到识别不同特征的对象的目的。统计模式识别中个应用的统计决策分类理论相对比较成熟,研究的重点是特征提取。统计模式识别的基本原理是:有相似性的样本在模式空间中互相接近,并形成集团,即物以类聚。其分析方法是根据模式所测得的特征向量Xi=(xi1,xi2,…,xid)T(i=1,2,…,N),将一个给定的模式归入C个类ω1,ω2,…,ωc中,然后根据模式之间的距离函数来判别分类。其中,T表示转置;N为样本点数;d为样本特征数。

统计模式识别的主要方法有:判别函数法,k近邻分类法,非线性映射法,特征分析法,主因子分析法等。

在统计模式识别中,贝叶斯决策规则从理论上解决了最优分类器的设计问题,但其实施却必须首先解决更困难的概率密度估计问题。BP神经网络直接从观测数据(训练样本)学习,是更简便有效的方法,因而获得了广泛的应用,但它是一种启发式技术,缺乏指定工程实践的坚实理论基础。统计推断理论研究所取得的突破性成果导致现代统计学习理论——VC理论的建立,该理论不仅在严格的数学基础上圆满地回答了人工神经网络中出现的理论问题,而且导出了一种新的学习方法——支撑向量机。

 

人工神经网络模式识别:人工神经网络的研究起源于对生物神经系统的研究。人工神经网络区别于其他识别方法的最大特点是它对待识别的对象不要求有太多的分析与了解,具有一定的智能化处理的特点。

句法结构模式识别:又称结构方法或语言学方法。其基本思想是把一个模式描述为较简单的子模式的组合,子模式又可描述为更简单的子模式的组合,最终得到一个树形的结构描述,在底层的最简单的子模式称为模式基元。在句法方法中选取基元的问题相当于在决策理论方法中选取特征的问题。通常要求所选的基元能对模式提供一个紧凑的反映其结构关系的描述,又要易于用非句法方法加以抽取。显然,基元本身不应该含有重要的结构信息。模式以一组基元和它们的组合关系来描述,称为模式描述语句,这相当于在语言中,句子和短语用词组合,词用字符组合一样。基元组合成模式的规则,由所谓语法来指定。一旦基元被鉴别,识别过程可通过句法分析进行,即分析给定的模式语句是否符合指定的语法,满足某类语法的即被分入该类。

在几种算法中,统计模式识别是最经典的分类识别方法,在图像模式识别中有着非常广泛的应用。

 

 

参考书籍:美国 冈萨雷斯 数字图像处理第二版

2017-06-15 10:20:10 llh_1178 阅读数 13061

图像的边缘、轮廓检测在人类视觉和计算机视觉中均起着重要的作用。人类能够仅凭一张背景剪影或一张草图就能识别出物体的类型和姿态。OpenCV提供了许多边缘检测l滤波函数,包括Laplacian( )、Sobel()以及Scharr()。这些函数都能将边缘转化为白色或其他饱和的颜色,将非边缘转化为黑色,但是,这些函数不能有效的区分噪声错误的判断为边缘。解决这个问题的办法是对图像进行模糊处理。这里介绍一种很方便却很实用的函数——Canny边缘检测。

Canny函数中包含两个阈值这也是与其他边缘检测函数不同的地方。阈值是来确定哪里是边缘位置。阈值越低,能够检测出的边线越多,结果也就越容易受到图片噪声的影响,并且越容易从图像中挑出不相关的特性。与此相反,一个高的阈值将会遗失细的或者短的线段。因此,Canny函数中要设置两个阈值是有不同用处的。高的那个阈值是将要提取轮廓的物体与背景区分开来,就像阈值分割的那个参数一样,是决定目标与背景对比度的,低的那个阈值是用来平滑边缘的轮廓,有时高的阈值设置太大了,可能边缘轮廓不连续或者不够平滑,通过低阈值来平滑轮廓线,或者使不连续的部分连接起来。

import cv2
from matplotlib import pyplot as plt
img = cv2.imread("water_coins.jpg", 0)
edges = cv2.Canny(img, 200, 300)
plt.subplot(1,2,1), plt.imshow(img,cmap = 'gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(1,2,2), plt.imshow(edges,cmap = 'gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
plt.show()



那么对图像的轮廓检测,先要将图像二值化操作,然后再调用findContours()函数。

import cv2
import numpy as np

img = np.zeros((200, 200), dtype=np.uint8)
img[50:150, 50:150] = 255
# 二值化处理
ret, th = cv2.threshold(img, 127, 255, 0)
# findcontours()函数。有三个参数:输入图像、层次类型和轮廓逼近方法。
# 由函数返回的层次树相当重要:cv2.RETR_TREE参数会得到图像中轮廓的整体层次结构(contours)。如果只想得到最外面的轮廓,可以使用cv2.RETR_EXTERNAL。这对消除包含在其他轮廓中的轮廓很有用。
# 第三个参数有两种方法:
#cv2.CHAIN_APPROX_NONE存储所有的轮廓点,相邻的两个点的像素位置差不超过1,即max(abs(x1-x2),abs(y2-y1))==1 cv2.CHAIN_APPROX_SIMPLE压缩水平方向,垂直方向,对角线方向的元素,只保留该方向的终点坐标,例如一个矩形轮廓只需4个点来保存轮廓信息cv2.CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS使用teh-Chinl chain 近似算法
image, contours, hierarchy = cv2.findContours(th, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 色彩空间转换函数cv2.cvtColor()
color = cv2.cvtColor(img, cv2.COLOR_BAYER_BG2BGR)
# 画出轮廓,-1,表示所有轮廓,画笔颜色为(0, 255, 0),即Green,粗细为2
img = cv2.drawContours(color, contours, -1, (0, 255, 0), 2)
cv2.imwrite("contours.png", color)
cv2.waitKey()
cv2.destroyAllWindows()


参考:

《OpenCV 3计算机视觉Python语言实现》

  OpenCV帮助文档:http://docs.opencv.org/3.0.0/da/d22/tutorial_py_canny.html


2019-08-27 17:20:20 weixin_43606771 阅读数 305

一、卷积的概念以及计算

1.一维卷积

在泛函分析中,卷积是通过两个函数 f 和 g 生成第三个函数的数学运算,表征函数 f 和经过翻转,平移的g 的乘积函数围成的曲边梯形的面积。
连续函数卷积: 设 f(x),g(x) 是 R 上两个可积函数,作积分:
在这里插入图片描述
离散序列卷积: 设 f(m),g(n) 是长度为 N 的两个离散信号,它们的积分是:
在这里插入图片描述
卷积运算的应用相当广泛,比如多项式的乘法(包括整数的乘法), 其实就是在进行对两个离散序列进行卷积运算。在图像处理中,用作图像的边缘检测,图像模糊,锐化等等。在统计学中,加权的平滑是一种卷积。在概率论中,两个统计独立的变量 X,Y 的概率密度函数是 XY 概率密度函数的卷积。在信号处理的过程中,任何一个系统的输出都可以看成是输入信号和系统冲击响应的卷积。

2.二维卷积

计算公式为:
在这里插入图片描述

二、图像处理中的应用

1.计算实例

索贝尔算子(Sobeloperator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量,假设两个sobel因子为:
在这里插入图片描述
该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像灰度值,其公式如下:
在这里插入图片描述

2.方法汇总

关于二维卷积的运算,在网上看了较多的文章,给出的方法大多数翻转之类的,找到一篇链接,讲解的比较全。
整体的计算公式为:
在这里插入图片描述
需要注意的是:
在这里插入图片描述
即:
在这里插入图片描述
A、B表示g(x,y)的维数,M、N代表f(x,y)的维数。
下面是计算实例:
在这里插入图片描述
方法一:解析法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
方法二:图解法
这也是网上讲解的最多的
在这里插入图片描述
在这里插入图片描述
方法三:多项式乘法
这是另一个博主的方法,详情见http://blog.sciencenet.cn/home.php?mod=space&uid=268138&do=blog&id=383185(仅供学习)

以下列矩阵为例:
在这里插入图片描述
则有:a和d的卷积就是,把a和d的第一行作为一个多项式的系数,按多项式升幂排列(也可以按降幂),即为:
在这里插入图片描述
结果为:
在这里插入图片描述
当然除了以上方法,还可以直接代入公式计算,以方法一中的例题为例,假设卷积后的矩阵为B,则有:
B(0,0)=G(0,0)F(0,0)+G(0,1)F(0,-1)+G(1,0)F(-1,0)+G(1,1)F(-1,-1)最后代入数值,需要注意的是F为周期性函数,G为卷积核,F为被卷机矩阵,那么F应被扩展为(m+n)维的方阵,m、n分别为G、F的维数,且这个矩阵多余的补0,最终计算的式子其实与方法二相同。

3.计算结果

回到正题中,根据上述提到的方法则有:
Gx =(-1)f(x-1, y-1) + 0f(x-1,y) + 1f(x-1,y+1) +(-2)f(x,y-1) + 0f(x,y)+2f(x,y+1) +(-1)f(x+1,y-1) + 0f(x+1,y) + 1f(x+1,y+1)= f(x-1,y+1)+2f(x,y+1)+f(x+1,y)-f(x-1, y-1)-2*f(x,y-1)-f(x+1,y-1)

Gy =1* f(x-1, y-1) + 2f(x-1,y)+ 1f(x,y+1) +0f(x,y-1)+ 0f(x,y) + 0*f(x,y+1) +(-1)f(x+1,y-1) + (-2)f(x+1,y-1) + (-1)f(x+1, y+1)= f(x-1, y-1) + 2f(x-1,y)+ 1f(x,y+1)-f(x+1,y-1)-2f(x+1,y-1) -f(x+1, y+1)
这里我与另外一位博主的计算结果有点不同,当然这里我是没有翻转,因为反转之后只是符号变了,而且是全部变了,而后面的计算是有平方的,因此不用翻转也是可以的,翻转了是更准确地解法,这一篇博客地址是(https://blog.csdn.net/qq_29238153/article/details/80822267),但是这里我是非常疑惑地,他的计算也是可以得到相同的效果的,但是我觉得自己的计算过程是没有问题的,因为符合计算公式和方法,仔细看了下应该是写反了,把Gy的结果写成了Gx的结果。
因此,图像的每一个像素的横向及纵向灰度值通过以下公式结合,来计算该点灰度的大小:
在这里插入图片描述

三、MATLAB实现

f = imread('D:\GG\6c2a0008d4bf2b6df897.jpg');
f=rgb2gray(f);
n=input('请输入均值滤波模板大小:');
% tem=ones(n);
[hight,width]=size(f);
x1=double(f);x2=double(f);
for i=1:hight-n+1
   for j=1:width-n+1
       a=x1(i:i+n-1,j:j+n-1);
       B =sort( a(:));
       suma=sum((a(:)).^2);
       x1(i+(n-1)/2,j+(n-1)/2)=sqrt(suma/(n*n));
       x2(i+(n-1)/2,j+(n-1)/2)=median(B);
   end
end
uSobel = f;
for i = 2:hight - 1   %sobel边缘检测
    for j = 2:width - 1
               Gx = (x1(i-1,j-1) - x1(i-1,j+1) + 2*x1(i,j-1)) - 2*x1(i,j+1) + x1(i+1,j-1) - x1(i+1,j+1);%不翻转
               % Gx = (-x1(i-1,j-1) + x1(i-1,j+1) - 2*x1(i,j-1)) + 2*x1(i,j+1) - x1(i+1,j-1) + x1(i+1,j+1);%翻转
              Gy = (-x1(i-1,j-1) - 2*x1(i-1,j) - x1(i-1,j+1)) +x1(i+1,j-1) + 2*x1(i+1,j) + x1(i+1,j+1);%不翻转
              % Gy = (x1(i-1,j-1) + 2*x1(i-1,j) + x1(i-1,j+1)) -x1(i+1,j-1) - 2*x1(i+1,j) - x1(i+1,j+1);%翻转
        uSobel(i,j) = sqrt(Gx^2 + Gy^2); 
    end
end 
g = uint8(x1);
z = uint8(x2);
uSobel = uint8(uSobel);
subplot(1,4,1);
imshow(g);
title('均值滤波图像');
subplot(1,4,2);
imshow(f);
title('原图');
subplot(1,4,3);
imshow(z);
title('中值滤波图像');
subplot(1,4,4);
BW3 = edge(f,'Sobel', 0.02);
imshow(BW3);
title('边缘检测');
figure(2);
imshow(uSobel );

最后可得sobel边缘提取的图像为:
在这里插入图片描述
另一幅车牌图为:
在这里插入图片描述
提取效果良好。
参考文献
1.卷积运算 Convolution (f ∗ g)(x)
2.sobel边缘检测

2018-04-07 19:09:19 IMWTJ123 阅读数 36443

坚持写下去,虽然简单,但希望可以帮助到别人微笑,有不足之处还望指教吐舌头

目的:对图像采用3种边缘检测算子进行处理,比较处理后的结果,并用边缘增强算法对图像增强。

一、基本原理

1.1图像边缘

   图像边缘是图像最基本的特征之一,往往携带着一幅图像的大部分信息。而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边缘。而边缘检测算法则是图像边缘检测问题中经典技术难题之一,它的解决对于我们进行高层次的特征描述、识别和理解等有着重大的影响;又由于边缘检测在许多方面都有着非常重要的使用价值,所以人们一直在致力于研究和解决如何构造出具有良好性质及好的效果的边缘检测算子的问题。

1.2边缘检测的定义

图像边缘是图像最基本的特征,边缘在图像分析中起着重要的用。所谓边缘是指图像局部特征的不连续性。灰度或结构信息的突变称为边缘,例如:灰度级的突变、颜色的突变、纹理结的突变。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。


    一条理想的边缘应该具有如图(a)所示模型的特性。每个像素都处在灰度级跃变的一个垂直的台阶上(例如图形中所示的水平线通过图像的灰度剖面图)。而实际上,诸如图像采集系统的性能、采样频率和获得图像的照明条件等因素的影响,得到的边缘往往是模糊的,边缘被模拟成具有“斜坡面”的剖面,如图(b)所示,在这个模型中不再有细线(宽为一个像素的线条),而是出现了边缘的点包含斜坡中任意点的情况。由此可以看到:模糊的边缘使边缘的“宽度”较大,面清晰的边缘使边缘的宽度较小。图像的边缘有方向的幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶导数或二阶导数来检测边缘,不同的是一阶导数认为最大值对应边缘位置,而二阶导数以过零点对应边缘位置。实际上,对于图像中的任意方向上的边缘都可以进行类似的分析。图像边 缘检测中对任意点的一阶导数可以利用该点梯度的幅度来获得,二阶导数可以用拉普拉斯算子得到。

1.3图像边缘检测算法的研究内容

     图像边缘检测和分析可定义为应用一系列方法获取、校正、增强、变换、检测或压缩可视图像的技术。其目的是提高信息的相对质量,以便提取有用信息。图像边缘检测中的变换属于图像输入-图像输出模式,图像边缘检测是一种超越具体应用的过程,任何为解决某一特殊问题而开发的图像边缘检测新技术或新方法,几乎肯定都能找到其他完全不同的应用领域。图像边缘检测的主要研究内容包括:
(1)图像获得和抽样,其中通过人眼观察的视野获取图像的问题有:最常用的图像获取装置——电视(TV)摄像机问题,对所获得信号进行独立的采样和数字化就可用数字形式表达景物中全部彩色内容;电荷-耦合装置,用作图像传感器,对景物每次扫描一行,或通过平行扫描获得图像;选择正确的分辨力或采样密度,一幅图像实质上是二维空间中的信号,所以适用于信号处理的法则同样适用于图像边缘检测,在放射学中常常需要高分辨力,要求图像至少达到2048像素×2048像素;灰度量化,图像强度也必须进行数字化,通常以256级(按1字节编码)覆盖整个灰度,一般一幅灰度分辨力为8位,空间分辨力为512像素×512像素的图像需0.25兆字节的存贮容量。
(2)图像分割,目的是把一个图像分解成它的构成成分,以便对每一目标进行测量。图像分割是一个十分困难的过程。但其测量结果的质量却极大地依赖于图像分割的质量。有两类不同的图像分割方法。一种方法是假设图像各成分的强度值是均匀的并利用这种均匀性;另一种方法寻找图像成分之间的边界,因而是利用图像的不均匀性。主要有直方图分割,区域生长,梯度法等
(3)边界查索,用于检测图像中线状局部结构,通常是作为图像分割的一个预处理步骤。大多数图像边缘检测技术应用某种形式的梯度算子,可应用对水平方向、垂直方向或对角线方向的梯度敏感的梯度算子,用它们的复合结果可检测任意方向的边界。
(4)图像增强和复原,用于改进图像的质量。不同的增强技术可以用于不同的目的,这取决于应用的类型。如果打算直接观察图像,可以增强对比度。如果是为了进一步对图像作数字处理,可以选择分割(一种突出各图像成分之间的边界和线状结构的运算)。该技术可以是整体的或局部的,也可以在某个频域或者空间域中进行。图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。
(5)图像分类(识别),图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。
(6)图像变换:由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像边缘检测中也有着广泛而有效的应用。

1.4执行边缘检测的基本步骤

1.为降噪对图像进行平滑处理;
2.边缘点的检测。这是一个局部操作,从一幅图像中提取所有的点,这些点变为边缘点的潜在候选者;
3.边缘定位。这一步的目的是从候选边缘点中选择组合成边缘点集合中的真实成员。

1.5图像梯度及性质

1.6梯度算子

1.6.1Roberts算子

    当对对角线方向的边缘感兴趣时,我们需要一个二维模板。Roberts算子是最早尝试使用具有对角优势的二维模板之一。Roberts算子是一种最简单的算子,是一种利用局部差分算子寻找边缘的算子,他采用对角线方向相邻两象素之差近似梯度幅值检测边缘。检测垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感,无法抑制噪声的影响。Roberts边缘算子是一个2x2的模板,采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位较准,对噪声敏感。
Roberts算子检测方法对具有陡峭的低噪声的图像处理效果较好,但是利用roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确。

1.6.2Prewitt算子

     Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。对数字图像f(x,y),Prewitt算子的定义如下:
G(i)=|[f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|
G(j)=|[f(i-1,j+1)+f(i,j+1)+f(i+1,j+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|

P(i,j)=max[G(i),G(j)]或 P(i,j)=G(i)+G(j)
经典Prewitt算子认为:凡灰度新值大于或等于阈值的像素点都是边缘点。即选择适当的阈值T,若P(i,j)≥T,则(i,j)为边缘点,P(i,j)为边缘图像。这种判定是欠合理的,会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了。

1.6.3 Sobel算子

     Sobel 算子有两个,一个是检测水平边沿的;另一个是检测垂直平边沿的。 Sobel算子另一种形式是各向同性Sobel算子,也有两个,一个是检测水平边沿的,另一个是检测垂直平边沿的。各向同性Sobel算子比普通Sobel算子的位置加权系数更为准确,在检测不同方向的边沿时梯度的+-幅度一致。

由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数, 简单有效,因此应用广泛。美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。 在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们给出了下面阈值化轮廓提取算法,该算法已在数学上证明当像素点满足正态分布时所求解是最优的。Sobel边缘算子的卷积如图所示,图像中的每个像素都用这两个核做卷积。这两个核分别对垂直边缘和水平边缘响应最大,两个卷积的最大值作为该点的输出位。运算结果是一幅边缘幅度图像。


Sobel算子认为邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越大,产生的影响越小。

二、算法步骤

Step1.为降噪对图像进行平滑处理,对图像进行高斯滤波。
Step2.用sobel算子进行边缘检测
Step3.用prewitt算子进行边缘检测
Step4.用roberts算子进行边缘检测
Step5.把原图像用拉普拉斯算子的模板处理
Step6.把A图像归零
Step7.把A的R分量用拉普拉斯算子模板处理
Step8.把A的G分量用拉普拉斯算子模板处理
Step9.把A的B分量用拉普拉斯算子模板处理
Step10.令B=I-A

Step11.显示B图像

三、结果分析


Sobel算子并没有将图像的主体与背景严格地区分开来。Sobel算子是一阶微分算子,是加权平均滤波,且检测的图像边缘可能大于两个像素,和prewitt算子一样对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果显得不理想。


Prewitt算子是一阶微分算子,是平均滤波,对灰度渐变低噪声的图像有较好的检测效果。但是,对于混合多复杂噪声的图像,处理效果显得不理想。尽管如此,prewitt模板实现起来仍旧比sobel模板更为简单。


Roberts算子检测方法对具有陡峭的低噪声的图像处理效果较好,但是利用roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确。由于不包括平滑,所以对噪声比较敏感。


边缘增强可以提高图像中某一部分的清晰度,使图像特定区域色彩更加鲜明,使画面整体更加清晰。从图中可以看出,经边缘增强后的图像清晰的显示出图中帽子的边界和细节。

四、完整程序

clear all
clc
hg=zeros(3,3);  %设定高斯平滑滤波模板的大小为3*3
delta=0.5;
for x=1:1:3
    for y=1:1:3
        u=x-2;
        v=y-2;
        hg(x,y)=exp(-(u^2+v^2)/(2*pi*delta^2));
    end
end
h=hg/sum(hg(:));
g = imread('C:\Users\Administrator\Desktop\11.jpg');
f=rgb2gray(im2double(g));
subplot(2,3,1);imshow(f);
title('原始图像');
[m,n]=size(f);
ftemp=zeros(m,n);
rowhigh=m-1;
colhigh=n-1;
%%%高斯滤波%%%
for x=2:1:rowhigh-1
    for y=2:1:colhigh-1
        mod=[f(x-1,y-1) f(x-1,y) f(x-1,y+1); f(x,y-1) f(x,y) f(x,y+1);f(x+1,y-1) f(x+1,y) f(x+1,y+1)];
        A=h.*mod;
        ftemp(x,y)=sum(A(:));
    end
end
f=ftemp;
subplot(2,3,2),imshow(f)
title('高斯滤波器后的图像');
%%%%3*3的sobel算子%%%%%%%%
sx=[-1 -2 -1;0 0 0;1 2 1];
sy=[-1 0 1;-2 0 2;-1 0 1];
for x=2:1:rowhigh-1
    for y=2:1:colhigh-1
        mod=[f(x-1,y-1) f(x-1,y) f(x-1,y+1); f(x,y-1) f(x,y) f(x,y+1);f(x+1,y-1) f(x+1,y) f(x+1,y+1)];
        fsx=sx.*mod;
        fsy=sy.*mod;
      ftemp(x,y)=max(abs(sum(fsx(:))),abs(sum(fsy(:))));
    end
end
fs=im2uint8(ftemp);
subplot(2,3,3),imshow(fs)
title('用sobel边缘算子检测的图像');
% %%%利用prewitt算子进行边缘检测%%%
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sx=[-1 -1 -1;0 0 0;1 1 1];
 sy=[1 0 -1;1 0 -1;1 0 -1];%这里是prewitt算子

for x=2:1:rowhigh-1
 for y=2:1:colhigh-1
 mod=[f(x-1,y-1) f(x-1,y) f(x-1,y+1); f(x,y-1) f(x,y) f(x,y+1);f(x+1,y-1) f(x+1,y) f(x+1,y+1)];
 fsx=sx.*mod;
 fsy=sy.*mod;
 ftemp(x,y)=sqrt((sum(fsx(:)))^2+(sum(fsy(:)))^2);
 end
 end
 fr=im2uint8(ftemp);
 subplot(2,3,4),imshow(fr)
 title('用prewitt算子边缘检测的图像');
 % %%%利用roberts算子进行边缘检测%%%
 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 sx=[-1 0;0 1];
sy=[0 -1;1 0];
for x=2:1:rowhigh-1
    for y=2:1:colhigh-1
        mod=[f(x-1,y-1) f(x-1,y);f(x,y-1) f(x,y)];
        fsx=sx.*mod;
        fsy=sy.*mod;
      ftemp(x,y)=max(abs(sum(fsx(:))),abs(sum(fsy(:))));
    end
end
ft=im2uint8(ftemp);
subplot(2,3,6),imshow(ft)
title('用roberts边缘检测的图像');
%拉普拉斯算子锐化图像,用二阶微分
%四邻接g(x,y)=[f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)]-4f(x,y)
I=im2double(g);
[m,n,c]=size(I);
A=zeros(m,n,c);
%分别处理R、G、B
%先对R进行处理
for i=2:m-1
    for j=2:n-1
        A(i,j,1)=I(i+1,j,1)+I(i-1,j,1)+I(i,j+1,1)+I(i,j-1,1)-4*I(i,j,1);
    end
end

%再对G进行处理
for i=2:m-1
    for j=2:n-1
        A(i,j,2)=I(i+1,j,2)+I(i-1,j,2)+I(i,j+1,2)+I(i,j-1,2)-4*I(i,j,2);
    end
end

%最后对B进行处理
for i=2:m-1
    for j=2:n-1
        A(i,j,3)=I(i+1,j,3)+I(i-1,j,3)+I(i,j+1,3)+I(i,j-1,3)-4*I(i,j,3);
    end
end
B=I-A;
Figure
imwrite(B,’11.jpg’,’jpg’)
 subplot(121)
 imshow('C:\Users\Administrator\Desktop\11.jpg');title('原始图像');
 subplot(122)
 imshow('11.jpg');title('边缘增强图像')