基于MATLAB的图像增强处理
- 格式:doc
- 大小:940.00 KB
- 文档页数:18
基于MATLAB GUI图像处理系统的设计与实现MATLAB是一种功能强大的图像处理工具,其GUI(图形用户界面)设计及实现可以使图像处理更加直观和简单。
本文将介绍基于MATLAB GUI图像处理系统的设计与实现,包括系统的功能设计、界面设计及实现步骤等内容,旨在为使用MATLAB进行图像处理的读者提供一些参考和帮助。
一、系统功能设计1. 图像基本处理功能:包括图像的读取、显示、保存,以及图像的基本操作(如缩放、旋转、翻转等)。
2. 图像增强功能:包括亮度、对比度、色彩平衡调整,以及直方图均衡化、滤波等操作。
3. 图像特征提取功能:包括边缘检测、角点检测、纹理特征提取等。
4. 图像分割功能:包括阈值分割、边缘分割、区域生长等。
5. 图像识别功能:包括基于模板匹配、人工智能算法的图像识别等。
6. 图像测量功能:包括测量图像中物体的大小、长度、面积等。
二、界面设计1. 主界面设计:主要包括图像显示区域、功能按钮、参数调节控件等。
2. 子功能界面设计:根据不同的功能模块设计相应的子界面,以便用户进行更详细的操作。
3. 界面美化:可以通过添加背景图案、调整按钮颜色、字体等方式美化界面,提高用户体验。
三、实现步骤1. 图像显示与基本处理:通过MATLAB自带的imread()函数读取图像,imshow()函数显示图像,并设置相应的按钮实现放大、缩小、旋转、翻转等基本操作。
2. 图像增强:利用imadjust()函数实现对图像亮度、对比度的调整,利用histeq()函数实现直方图均衡化,利用imfilter()函数实现图像的滤波处理。
3. 图像特征提取:利用edge()函数实现图像的边缘检测,利用corner()函数实现角点检测,利用texture()函数实现纹理特征提取。
4. 图像分割:利用im2bw()函数实现阈值分割,利用edge()函数实现边缘分割,利用regiongrowing()函数实现区域生长。
Matlab中的图像增强技术与应用图像增强技术是数字图像处理领域中的重要方向之一。
通过增强图像的亮度、对比度、锐度以及去除噪声、伪彩色等方法,可以使图像更加清晰、具有更好的可视化效果。
Matlab作为一种常用的图像处理工具,提供了丰富的图像增强函数和工具箱,可以帮助我们实现各种图像增强技术的应用。
本文将介绍一些常用的图像增强技术,并结合Matlab来演示它们的应用。
一、灰度变换与直方图均衡化灰度变换是最基础的图像增强技术之一,它通过调整图像中像素的灰度值来改变图像的亮度和对比度。
在Matlab中,我们可以使用imadjust函数来实现灰度变换。
imadjust函数可以根据输入的灰度范围,将图像像素的灰度值进行线性映射,从而改变图像的亮度。
直方图均衡化是一种改善图像对比度的方法,它通过对图像中像素的灰度分布进行调整,使得图像中的灰度级尽可能均匀分布。
在Matlab中,我们可以使用histeq函数来实现直方图均衡化。
该函数会自动计算图像的累积直方图,并将其映射为均匀分布的灰度级。
二、滤波器与空域增强滤波器是一种常见的图像增强工具,它可以通过删去或者增强图像中的某些频率成分,从而实现图像的去噪和锐化。
在Matlab中,我们可以使用imfilter函数来实现各种滤波操作。
常见的滤波器包括均值滤波器、中值滤波器以及高斯滤波器等。
均值滤波器可以平滑图像,减少图像中的噪声;中值滤波器可以有效抑制椒盐噪声等随机噪声;高斯滤波器可以平滑图像并增强图像的边缘。
除了滤波器,空域增强也是一种常用的图像增强技术。
通过对图像进行锐化、增强边缘等操作,可以使图像更加清晰和鲜明。
在Matlab中,我们可以使用imsharpen函数来实现图像的锐化操作。
该函数可以增强图像的高频信息,使得图像的细节更加突出。
三、变换域增强变换域增强是一种通过将图像从空域转换到频域,进行增强操作的方法。
其中最常用的变换是傅里叶变换和小波变换。
在Matlab中,我们可以使用fft2函数和dwt2函数来实现傅里叶变换和小波变换。
利用Matlab进行图像去噪和图像增强随着数字图像处理技术的不断发展和成熟,图像去噪和图像增强在各个领域都有广泛的应用。
而在数字图像处理的工具中,Matlab凭借其强大的功能和易于使用的特点,成为了许多研究者和工程师首选的软件之一。
本文将介绍如何利用Matlab进行图像去噪和图像增强的方法和技巧。
一、图像去噪图像去噪是指通过一系列算法和技术,将图像中的噪声信号去除或减弱,提高图像的质量和清晰度。
Matlab提供了多种去噪方法,其中最常用的方法之一是利用小波变换进行去噪。
1. 小波变换去噪小波变换是一种多尺度分析方法,能够对信号进行时频分析,通过将信号分解到不同的尺度上,实现对图像的去噪。
在Matlab中,可以使用"dwt"函数进行小波变换,将图像分解为低频和高频子带,然后通过对高频子带进行阈值处理,将噪声信号滤除。
最后通过逆小波变换将去噪后的图像重构出来。
这种方法能够有效抑制高频噪声,保留图像的细节信息。
2. 均值滤波去噪均值滤波是一种基于平均值的线性滤波方法,通过计算像素周围邻域内像素的平均值,替代原始像素的值来去除噪声。
在Matlab中,可以使用"imfilter"函数进行均值滤波,通过设置适当的滤波模板大小和滤波器系数,实现对图像的去噪。
二、图像增强图像增强是指通过一系列算法和技术,改善图像的质量、增强图像的细节和对比度,使图像更容易被观察和理解。
Matlab提供了多种图像增强方法,以下将介绍其中的两种常用方法。
1. 直方图均衡化直方图均衡化是一种通过对图像像素值的分布进行调整,增强图像对比度的方法。
在Matlab中,可以使用"histeq"函数进行直方图均衡化处理。
该函数能够将图像的像素值分布拉伸到整个灰度级范围内,提高图像的动态范围和对比度。
2. 锐化增强锐化增强是一种通过增强图像边缘和细节来改善图像质量的方法。
在Matlab中,可以使用"imsharpen"函数进行图像的锐化增强处理。
Matlab中的图像增强方法图像增强是数字图像处理中的一项重要技术,通过使用各种算法和方法,可以改善图像的质量、增加图像的信息量和清晰度。
在Matlab中,有许多强大而灵活的工具和函数,可以帮助我们实现图像增强的目标。
本文将介绍几种常用的Matlab图像增强方法,并探讨它们的原理和应用。
一、直方图均衡化直方图均衡化是一种常用的图像增强方法,通过调整图像的像素分布来增强图像的对比度和亮度。
在Matlab中,我们可以使用“histeq”函数来实现直方图均衡化。
该函数会根据图像的直方图信息,将像素的灰度值重新映射到一个均匀分布的直方图上。
直方图均衡化的原理是基于图像的累积分布函数(CDF)的变换。
它首先计算图像的灰度直方图,并根据直方图信息计算CDF。
然后,通过将CDF线性映射到期望的均匀分布上,将图像的像素值进行调整。
直方图均衡化的优点在于简单易实现,且效果较好。
但它也存在一些限制,比如对噪声敏感、全局亮度调整可能导致细节丢失等。
因此,在具体应用中,我们需要权衡其优缺点,并根据图像的特点选择合适的方法。
二、自适应直方图均衡化自适应直方图均衡化是对传统直方图均衡化的改进,它能够在改善对比度的同时,保持局部细节。
与全局直方图均衡化不同,自适应直方图均衡化采用局部的直方图信息来进行均衡化。
在Matlab中,我们可以使用“adapthisteq”函数来实现自适应直方图均衡化。
该函数会将图像分成小块,并在每个块上进行直方图均衡化。
通过这种方式,自适应直方图均衡化可以在增强图像对比度的同时,保留图像的细节。
自适应直方图均衡化的优点在于针对每个小块进行处理,能够更精确地调整局部对比度,避免了全局调整可能带来的细节丢失。
然而,相对于全局直方图均衡化,自适应直方图均衡化的计算量较大,因此在实时处理中可能会引起性能问题。
三、模糊与锐化图像增强不仅局限于对比度和亮度的调整,还可以改善图像的清晰度和边缘信息。
在Matlab中,我们可以使用一些滤波器来实现图像的模糊和锐化。
利用Matlab进行图像去雾与增强的技巧引言:随着数字图像处理技术的快速发展,人们对于图像的质量要求也越来越高。
然而,在拍摄或者采集图像时,由于天气、光照等各种原因,图像中常常存在雾霾现象,导致图像质量下降。
因此,图像去雾与增强成为了图像处理领域的重要研究方向。
本文将介绍利用Matlab进行图像去雾与增强的技巧。
一、图像去雾技术1. 传统去雾技术传统的图像去雾技术主要基于图像中的像素信息和颜色分布,通过调整图像的对比度、亮度以及增强局部细节来降低雾霾的影响。
其中,最常用的方法是通过估计全局大气光来进行去雾处理。
具体步骤如下:- 首先,通过计算图像中每个像素的亮度值,选择其中的亮度最大值作为全局大气光的估计值。
- 然后,根据全局大气光的估计值和经验参数,对图像进行调整,降低雾霾的影响。
- 最后,通过调整图像的对比度和亮度,增强图像的细节信息。
2. 基于深度学习的图像去雾技术近年来,随着深度学习的快速发展,基于深度学习的图像去雾技术取得了显著的进展。
与传统方法相比,基于深度学习的方法能够更准确地估计图像中的雾霾密度,并恢复出更清晰的图像。
具体步骤如下:- 首先,构建一个深度卷积神经网络模型,用于学习图像的雾霾特征。
- 然后,通过输入原始图像和雾密度的估计值,使用深度学习模型对图像进行去雾处理。
- 最后,根据去雾处理后的图像,调整图像的对比度和亮度,进一步增强图像的细节和质量。
二、图像增强技术1. 对比度增强对比度是指图像中不同区域之间的亮度差异程度。
对于低对比度的图像,可以使用以下技术来进行增强:- 线性变换:通过调整图像的灰度级分布,使得图像的对比度增加。
- 直方图均衡化:通过对图像的灰度级分布进行变换,使得图像的亮度均匀分布,增强图像的对比度。
- 自适应直方图均衡化:结合图像的局部信息,对图像的灰度级分布进行自适应调整,更好地增强图像的细节。
2. 锐化增强图像的锐化增强是通过增强图像的边缘和细节,使得图像更加清晰和鲜明。
基于matlab的图像处理课程设计一、课程目标知识目标:1. 学生能理解图像处理的基本概念,掌握图像的数字化表示方法。
2. 学生能掌握Matlab软件的基本操作,运用其图像处理工具箱进行图像的读取、显示和保存。
3. 学生能掌握图像处理的基本算法,如灰度变换、图像滤波、边缘检测等,并理解其原理。
技能目标:1. 学生能运用Matlab进行图像处理操作,解决实际问题。
2. 学生能通过编程实现图像处理算法,具备一定的程序调试和优化能力。
3. 学生能运用所学知识,结合实际问题,设计简单的图像处理程序。
情感态度价值观目标:1. 学生通过学习图像处理,培养对计算机视觉和人工智能领域的兴趣,激发创新意识。
2. 学生在课程实践中,培养团队协作精神,提高沟通与表达能力。
3. 学生能认识到图像处理技术在生活中的广泛应用,增强学以致用的意识。
分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握基本图像处理知识的基础上,通过Matlab软件的实践操作,培养其编程能力和解决实际问题的能力。
同时,注重培养学生的团队协作和情感态度,使其在学习过程中获得成就感,激发学习兴趣。
课程目标将具体分解为学习成果,以便后续教学设计和评估。
二、教学内容1. 图像处理基础理论:- 数字图像概念及表示方法- 图像处理的基本操作:读取、显示、保存- 像素运算与邻域处理2. Matlab基础操作:- Matlab软件安装与界面介绍- 数据类型与基本运算- 矩阵运算与函数编写3. 图像处理算法:- 灰度变换与直方图处理- 图像滤波:低通滤波、高通滤波- 边缘检测:Sobel算子、Canny算子4. 实践项目:- 图像增强与去噪- 图像分割与特征提取- 目标检测与跟踪5. 教学大纲:- 第一周:图像处理基础理论,Matlab基础操作- 第二周:灰度变换与直方图处理,图像滤波- 第三周:边缘检测,实践项目一- 第四周:图像分割与特征提取,实践项目二- 第五周:目标检测与跟踪,课程总结与展示教学内容根据课程目标,结合教材章节进行选择和组织,确保科学性和系统性。
使用Matlab进行图像增强与图像修复的方法图像增强与图像修复是数字图像处理领域中的重要研究方向之一。
随着数字摄影和图像处理技术的快速发展,越来越多的应用需要对图像进行增强和修复,以提高图像的质量和视觉效果。
在本文中,我们将探讨使用Matlab进行图像增强和图像修复的方法。
一、图像增强方法图像增强是通过对图像进行处理,改善其质量,使其更加清晰、鲜明和易于观察。
下面将介绍几种常用的图像增强方法。
1. 灰度拉伸灰度拉伸是一种简单而有效的图像增强方法,通过拉伸图像的灰度范围,使得图像中的细节更加明确可见。
具体操作是将图像的最低灰度值映射到0,最高灰度值映射到255,中间的灰度值按比例映射到相应的范围。
在Matlab中,我们可以使用imadjust函数实现灰度拉伸。
2. 直方图均衡化直方图均衡化是一种常用的图像增强方法,通过对图像的灰度分布进行调整,使得图像的对比度得到增强。
具体操作是对图像的灰度直方图进行均衡化处理,将图像的灰度级分布均匀化。
在Matlab中,我们可以使用histeq函数实现直方图均衡化。
3. 锐化锐化是一种常用的图像增强方法,通过增强图像的边缘和细节,使得图像更加清晰和立体。
具体操作是对图像进行高通滤波,突出图像中的边缘信息。
在Matlab中,我们可以使用imsharpen函数实现图像锐化。
4. 去噪去噪是一种常用的图像增强方法,通过抑制图像中的噪声,提高图像的质量。
常见的去噪方法包括中值滤波、均值滤波和小波去噪等。
在Matlab中,我们可以使用medfilt2函数实现中值滤波。
二、图像修复方法图像修复是对图像中存在的缺陷或损坏进行补全或恢复的过程,以提高图像的可视化效果。
下面将介绍几种常用的图像修复方法。
1. 图像插值图像插值是一种常用的图像修复方法,通过根据已知的像素值推测缺失的像素值,从而补全图像中的缺失部分。
常见的插值方法包括最近邻插值、双线性插值和双立方插值等。
在Matlab中,我们可以使用interp2函数实现图像插值。
基于matlab的图像对比度增强处理的算法的研究与实现1. 引言1.1 研究背景图像对比度增强是数字图像处理中的一个重要领域,它能够提高图像的视觉质量,使图像更加清晰、鲜明。
随着现代科技的快速发展,图像在各个领域的应用越来越广泛,因此对图像进行对比度增强处理的需求也越来越迫切。
在数字图像处理领域,图像对比度增强处理是一种经典的技术,通过调整图像的灰度级范围,提高图像的对比度,使图像更加清晰和易于观察。
对比度增强处理可以应用于医学影像、卫星图像、照片修复等领域,有效提升图像质量和信息量。
随着数字图像处理算法的不断发展和完善,基于matlab的图像对比度增强处理算法也得到了广泛研究和应用。
通过matlab编程实现图像对比度增强处理算法,可以快速、高效地对图像进行处理,并进行实验验证和效果分析。
研究基于matlab的图像对比度增强处理算法的研究与实现具有重要的理论意义和实际应用价值。
1.2 研究目的研究目的是探索基于matlab的图像对比度增强处理算法,通过对比不同算法的效果和性能进行分析,进一步提高图像的清晰度和质量。
具体目的包括:1. 深入理解图像对比度增强处理的基本原理,掌握常用的算法和技术;2. 研究基于matlab的图像对比度增强处理算法实现的方法和步骤,探究其在实际应用中的优劣势;3. 通过实验结果与分析,评估不同算法在提升图像对比度方面的效果和效率;4. 对现有算法进行优化与改进,提出更加有效的图像对比度增强处理方法;5.总结研究成果,为今后进一步完善图像处理技术提供参考和借鉴。
通过对图像对比度增强处理算法的研究与实现,旨在提高图像处理的效率和质量,满足不同应用领域对图像处理的需求,促进图像处理技术的发展和应用。
1.3 研究意义对比度增强处理是图像处理领域中一项重要的技术,在实际应用中有着广泛的使用。
通过增强图像的对比度,可以使图像更加清晰、鲜明,提高图像的质量和观感效果。
对比度增强处理在医学影像分析、卫星图像处理、数字摄影等领域都有着重要的应用。
Matlab技术图像增强方法图像增强是数字图像处理的一个重要任务,通过改善图像的质量和视觉效果来提高图像的可读性和理解性。
在现实生活中,我们常常会遇到一些图像质量较差、光照不均匀或者图像噪声较多的情况,这时候就需要借助一些图像增强方法来改善图像。
Matlab作为一款强大的数学软件,提供了丰富的图像处理工具箱,其中包含了多种图像增强方法。
本文将介绍几种常用的Matlab图像增强方法,并对其原理和应用进行探讨。
一、直方图均衡化直方图均衡化是一种常用的图像增强方法,通过重新分配图像的灰度级来拉伸图像的灰度范围,以增强图像的对比度和细节。
在Matlab中,我们可以使用以下代码实现图像的直方图均衡化:```matlabimg = imread('image.jpg');img_eq = histeq(img);imshowpair(img, img_eq, 'montage');```直方图均衡化的原理是将图像的累积分布函数进行线性映射,使得图像的灰度级均匀分布,从而增强对比度。
然而,直方图均衡化有时候会导致图像过亮或者过暗,因为它只考虑了灰度分布,并未考虑图像的空间信息。
二、自适应直方图均衡化为了克服直方图均衡化的不足,自适应直方图均衡化应运而生。
自适应直方图均衡化是一种局部增强方法,它将图像划分为若干小区域,并对每个区域进行直方图均衡化,以保留图像的局部对比度。
Matlab中的自适应直方图均衡化函数为`adapthisteq`,使用方法如下:```matlabimg = imread('image.jpg');img_adapteq = adapthisteq(img);imshowpair(img, img_adapteq, 'montage');```自适应直方图均衡化在增强图像对比度的同时,能够保留图像的细节,并且不会引入过多的噪声。
2011 - 2012学年第1 学期专业综合课程设计报告题目:基于MATLAB的图像增强处理专业:通信工程班级: 08通信(本)姓名:指导教师:成绩:电气工程系2011年11月15日课程设计任务书学生班级:08通信工程学生姓名:学号:设计名称:基于MATLAB的图像增强处理起止日期: 2011-11-13——11—17 指导教师:师内容摘要数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。
图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。
本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。
目录设计要求 (1)内容摘要 (2)目录 (3)第一章MATLAB的简介 (4)1.1MATLAB的主要功能 (4)第二章MATLAB图像增强概述 (4)2.1数字增强技术概述 (4)2.2数字图像的表示 (5)第三章直方图均衡化 (6)3.1图像的灰度 (6)3.2灰度直方图 (8)3.3直方图均衡化 (9)第四章图像二值化 (10)4.1图像二值化 (12)第五章对比度增强 (12)5.1灰度调整 (12)5.2对比扩展法 (12)5.3对数变换 (13)第六章滤波 (13)6.1平滑滤波 (14)6.2线性滤波 (14)6.3非线性率 (14)6.4二维中值滤波 (15)6.5高通滤波 (15)第七章锐化 (15)第八章参考文献 (16)第九章自我评价 (17)1. Matlab 的简介1.1MA TLAB 主要功能MATLAB 是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。
目前,已成为工程领域中较常用的软件工具包之一。
2.MATLAB 的主要功能2.1数字增强技术概述图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。
图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。
图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。
从纯技术上讲主要有两类:频域处理法和空域处理法。
频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。
2.2数字图像的表示图像并不能直接用计算机来处理,处理前必须先转化成数字图像。
由于从外界得到的图像多是二维(2-D )的,一幅图像可以用一个2-D 数组),(y x f 表示。
这里x 和y 表示二维空间XY 中一个坐标点的位置,而f 则代表图像在点),(y x 的某种性质数值。
为了能够用计算机对图像进行处理,需要坐标空间和性质空间都离散化。
3.直方图的均衡化3.1图像的灰度常用的图像一般是灰度图,这时f 表示灰度值,反映了图像上对应点的亮度。
亮度是观察者对所看到的物体表面反射光强的量度。
作为图像灰度的量度函数),(y x f 应大于零。
人们日常看到的图像一般是从目标上反射出来的光组成的,所以),(y x f 可看成由两部分构成:入射到可见场景上光的量;场景中目标对反射光反射的比率。
确切地说它们分别称为照度成分),(y x i 和反射成分),(y x r 。
),(y x f 与),(y x i 和),(y x r 都成正比,可表示成),(y x f =),(y x i ×),(y x r 。
3.2灰度直方图灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。
灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。
程序如下:%灰度直方图I=imread('D:\image\rice.bmp');%读取图像subplot(2,1,1);Imshow(I);%显示图像title('(a)原图');subplot(2,1,2);imhist(I);%绘制图像的灰度直方图title('(b)原图的灰度直方图');图4.13.3直方图均衡化直方图均衡化过程如下:(1)计算原图像的灰度直方图)(K r r P ;(2)计算原图像的灰度累积分布函数k s ,进一步求出灰度变换表;(3)根据灰度变换表,将原图像各灰度级映射为新的灰度级。
灰度直方图均衡化程序:%灰度直方图均衡化I=imread('D:\image\bubbles.bmp');%读取图像subplot(2,2,1);Imshow(I);%显示图像title('原图');subplot(2,2,2);imhist(I);%绘制图像的灰度直方图title('原图的灰度直方图');subplot(2,2,3);J=histeq(I,64);%对图像进行均衡化处理,返回有64级灰度的图像JImshow(J);%显示图像title('原图直方图均衡化');subplot(2,2,4);imhist(J);%绘制图像的灰度直方图title('均衡后的灰度直方图')以下展示了直方图均衡化的效果:图4.2优势:能够使得处理后图像的概率密度函数近似服从均匀分布,其结果扩张了像素值的动态范围,是一种常用的图像增强算法。
不足:不能抑制噪声。
4.图像二值化4.1图像二值化图像的二值化处理就是将图像上的像素点的灰度值设置为0或255,也就是讲整个图像呈现出明显的黑白效果。
首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。
其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。
图像二值化程序:%图像二值化(选取一个域值,(5) 将图像变为黑白图像)I=imread('beauty.tif');bw=im2bw(I,0.5);%选取阈值为0.5subplot(1,3,1);imshow(I);title('原图');subplot(1,3,2);imshow(bw);title('显示二值图像');J=find(I<150);I(J)=0;J=find(I>=150);I(J)=255;subplot(1,3,3);imshow(I);title(' 图像二值化 ( 域值为150 ) ');下图为图像二值化的效果:图 4.35.对比度增强5.1对比度增强对比度增强是按一定的规则修改输入图像每一个像素的灰度,从而改变图像灰度的动态范围。
例如,观察图4.4可以发现,该图的对比度不高其灰度直方图没有低于35或高于210的值,如果将图像数据映射到整个灰度范围内,则图像的对比度将大大增大。
图4.45.2灰度调整灰度调整程序:%imadjust函数I=imread('D:\image\rice.bmp');%读取图像subplot(2,2,1);Imshow(I);%显示图像title('原图');subplot(2,2,2);imhist(I);%绘制图像的灰度直方图title('原图的灰度直方图');subplot(2,2,3);J=imadjust(I,[0.3 0.7],[]);%对图像进行灰度变换Imshow(J);%显示图像title('原图直方图均衡化');subplot(2,2,4);imhist(J);%绘制图像的灰度直方图title('均衡后的灰度直方图')以下展示了常用对比度扩展法的结果:图4.5从图4.5【原图】可以看出原始图像动态范围较小,整体较暗,反映在直方图上像素主要集中在低灰度的一侧。
经过对比度调整,图像变亮。
5.3对数变换对数变化常用来扩展低值灰度,压缩高值灰度,这样可以使低值灰度的图像细节更容易看清。
对数变换程序:%对数变换I=imread('beauty.tif');%读取图像I=mat2gray(I);%对数变换不支持uint8类型数据,将一个矩阵转化为灰度图像的数据格式(double)J=log(I+1);subplot(1,2,1);Imshow(I);%显示图像title('原图');subplot(1,2,2);Imshow(J);title('对数变换后的图像')图 4.6对数变换确实能够扩展低值灰度,而压缩高值灰度,使低值灰度的图像细节更容易看清。
6.滤波6.1平滑滤波平滑技术用于平滑图像中的噪声。
平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均或中值。
为了既平滑噪声又保护图像信号。
6.2线性滤波输出图像的值等于输入图像滤波后值的局部平均,各个项具有相同的权。
下面是平滑窗口分别为矩形和圆形的情况。
⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=1111111111111111111111111251],[k j h rect ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=0111011111111111111101110211],[k j h circ 对一些图像进行线性滤波可以去除图像中某些类型的噪声,如采用邻域平均法的均值滤波器就非常适用于去除通过扫描得到的图像中的颗粒噪声。
6.2线性平滑滤波程序:%线性平滑滤波I=imread('beauty.tif');J=imnoise(I,'salt & pepper',0.02);subplot(221),imshow(I)title('原图像')subplot(222),imshow(J)title('添加椒盐噪声图像')K1=filter2(fspecial('average',3),J)/255;%应用3*3邻域窗口法subplot(223),imshow(K1)title('3x3窗的邻域平均滤波图像')K2=filter2(fspecial('average',7),J)/255;%应用7*7邻域窗口法subplot(224),imshow(K2)title('7x7窗的邻域平均滤波图像')如图4.8(a)为线性平滑滤波的例子:如图子6.3非线性滤波中值滤波是一种最常用的图像增强技术,是非线性滤波。