电子科大图像对比度增强实验报告
- 格式:doc
- 大小:7.02 MB
- 文档页数:22
实验一图像增强实验一、实验目标:掌握图像增强的算法。
二、实验目的:1. 了解灰度变换增强和空域滤波增强的Matlab实现方法2. 掌握直方图灰度变换方法3. 掌握噪声模拟和图像滤波函数的使用方法三、实验内容:(1)图像的点操作、邻域操作算法。
(2)图像的直方图处理算法。
四、实验设备:1.PIII以上微机; 2.MATLAB6.5;五、实验步骤:(1)读入图像:用matlab函数实现图像读入(可读入Matlab中的标准测试图像)(原始图像)(2)实现图像点操作运算(如gamma校正,对数校正等)(3)实现图像的邻域处理(实现均值滤波,拉普拉斯滤波)(4)实现直方图均衡处理matlab 源程序clear all;clc;f=imread('girl_noise.jpg');figure,imshow(f),title('原始图像');[m,n]=size(f);f0= im2double(f); % 整型转换为double 类f1=f0;std_i=zeros(1,m-2);%灰线处理for i=2:m-1%灰线处理std_i(i-1)=std(f0(i,:));if(std_i(i-1)<0.1)for j=1:mf0(i,j)=(f0(i-1,j)+f0(i+1,j))/2;endendendfigure,imshow(f0),title('滤除灰线后的图像');fz=f0-f1;[r,c]=find(fz~=0);%寻找灰线噪声的位置f2=f0;change=0;count=0;for i=3:m-2%白线处理for j=1:mif(abs(f0(i,j)-f0(i-1,j))>0.2&&abs(f0(i,j)-f0(i+1,j))>0.2) count=count+1;endif(count>n*0.8)count=0;change=1;break;endendif(change==1)for k=1:mf0(i,k)=(f0(i-1,k)+f0(i+1,k))/2;endchange=0;count=0;endendfigure,imshow(f0),title('滤除白线后的图像');fz1=f2-f0;[r1,c1]=find(fz1~=0); %寻找白线噪声的位置fn = medfilt2(f0); %反射对称填充figure, imshow(fn),title('中值滤波后的图像');f0 = im2double(fn); % 整型转换为double 类g =2*f0- imfilter(f0,w4, 'replicate'); % 增强后的图像figure, imshow(g),title('高提升滤波图像(A=2)');图像处理结果六、结果分析从上面结果可以看出,带状噪声处理部分,已经基本将带状噪声去除。
基于matlab的图像对比度增强处理的算法的研究与实现1. 引言1.1 研究背景图像对比度增强是数字图像处理中的一个重要领域,它能够提高图像的视觉质量,使图像更加清晰、鲜明。
随着现代科技的快速发展,图像在各个领域的应用越来越广泛,因此对图像进行对比度增强处理的需求也越来越迫切。
在数字图像处理领域,图像对比度增强处理是一种经典的技术,通过调整图像的灰度级范围,提高图像的对比度,使图像更加清晰和易于观察。
对比度增强处理可以应用于医学影像、卫星图像、照片修复等领域,有效提升图像质量和信息量。
随着数字图像处理算法的不断发展和完善,基于matlab的图像对比度增强处理算法也得到了广泛研究和应用。
通过matlab编程实现图像对比度增强处理算法,可以快速、高效地对图像进行处理,并进行实验验证和效果分析。
研究基于matlab的图像对比度增强处理算法的研究与实现具有重要的理论意义和实际应用价值。
1.2 研究目的研究目的是探索基于matlab的图像对比度增强处理算法,通过对比不同算法的效果和性能进行分析,进一步提高图像的清晰度和质量。
具体目的包括:1. 深入理解图像对比度增强处理的基本原理,掌握常用的算法和技术;2. 研究基于matlab的图像对比度增强处理算法实现的方法和步骤,探究其在实际应用中的优劣势;3. 通过实验结果与分析,评估不同算法在提升图像对比度方面的效果和效率;4. 对现有算法进行优化与改进,提出更加有效的图像对比度增强处理方法;5.总结研究成果,为今后进一步完善图像处理技术提供参考和借鉴。
通过对图像对比度增强处理算法的研究与实现,旨在提高图像处理的效率和质量,满足不同应用领域对图像处理的需求,促进图像处理技术的发展和应用。
1.3 研究意义对比度增强处理是图像处理领域中一项重要的技术,在实际应用中有着广泛的使用。
通过增强图像的对比度,可以使图像更加清晰、鲜明,提高图像的质量和观感效果。
对比度增强处理在医学影像分析、卫星图像处理、数字摄影等领域都有着重要的应用。
深圳大学实验报告课程名称: 数字图像处理实验项目名称: 图像增强学院: 信息工程学院专业: 通信工程****: ***报告人: 学号: 班级: 1班实验时间: 2015、04、09实验报告提交时间: 2015、05、21教务处制[1] 简述直方图均衡化原理答:直方图均衡化的基本思想就是对原始图像中的像素灰度做某种映射变换,使变换后的图像灰度的概率密度就是均匀分布的,即变换后图像就是一幅灰度均匀分布的图像,这意味着图像灰度的动态范围得到了增加,从而可提高图像的对比度。
[2] 对给定的两幅灰度数字图像(可以用MATLAB自带的图像文件)进行如下处理:a、对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。
答:代码实现如下:A = imread('1、jpg');I=rgb2gray(A);[height,width] = size(I);figuresubplot(221)imshow(I)%显示原始图像subplot(222)imhist(I)%显示原始图像直方图%进行像素灰度统计;s = zeros(1,256);%统计各灰度数目,共256个灰度级for i = 1:heightfor j = 1: widths(I(i,j) + 1) = s(I(i,j) + 1) + 1;%对应灰度值像素点数量增加一 endend%计算灰度分布密度p = zeros(1,256);for i = 1:256p(i) = s(i) / (height * width * 1、0);end%计算累计直方图分布c = zeros(1,256);c(1) = p(1);for i = 2:256c(i) = c(i - 1) + p(i);end%累计分布取整,将其数值归一化为1~256c = uint8(255 、* c + 0、5);%对图像进行均衡化for i = 1:heightfor j = 1: widthI(i,j) = c(I(i,j)+1);endendsubplot(223)imshow(I)%显示均衡化后的图像subplot(224)imhist(I)%显显示均衡化后的图像的直方图进行灰度均衡化的公式有很多,只要满足两个关键的条件就行了。
实验:图像增强1.实验目的(1)熟悉并学会使用MA TLAB中图像增强的相关函数(2)了解图像增强的办法、去噪的方法和效果。
2.实验主要仪器设备(1)微型计算机:Intel Pentium及更高。
(2)MATLAB软件(含图像处理工具箱)。
(3)典型的灰度、彩色图像文件。
3.实验原理(1)将一副图像视为一个二维矩阵,用MATLAB进行图像增强。
(2)利用MATLAB图像处理工具箱中的函数imread(读)、imshow(显示)、imnoise(加噪)、filter(滤波)对图像进行去噪处理。
(3)图像灰度修正:灰度变换。
对不满意的图像通过线性或非线性灰度映射关系进行变换,其效果可以得到明显提高。
通过分析,会发现变换前后图像的直方图也发生相应的变化。
(4)图像平滑方法:领域平均、中值滤波。
分析图像降质的性质,区分平稳性还是非平稳型、加性还是乘性等,采用合适的去噪方法,可以去除或降低噪声对图像的影响。
从频率域看,平均操作在降低噪声的同时衰减了图像的高频分量,会影响图像细节的重现。
中值滤波对某些信号具有不变形,适用于消除图像中的突发干扰,但如果图像含有丰富的细节,则不宜使用。
(5)图像锐化方法:人眼对目标的边缘和轮廓较为敏感,对图像进行锐化,有助于突出图像的这些特征。
从频率域看,锐化提升了图像的高频分量。
4.实验内容(1)图像灰度修正。
(2)图像平滑方法。
(3)图像锐化方法。
5.实验步骤(1)图像灰度修正。
读入一幅灰度级分布不协调的图像,分析其直方图。
根据直方图,设计灰度变换表达式,或调用imadjuct函数。
调整变换表达式的参数,直到显示图像的灰度级分布均衡为正。
(2)图像平滑方法。
对有噪声图像或人为加入噪声的图像进行平滑处理。
根据噪声的类型,选择不同的去噪方法,如领域平均、中值滤波等方法,调用filter2、medfilt2函数,选择不同的滤波模板和参数,观测和分析各种去噪方法对不同噪声图像处理的去噪或降噪效果。
一、插值自适应直方图均衡化《一种雾天图像低对比度增强的快速算法》1.图像分块,每块大小均为m×n,称为固定分块;2.计算每个分块的均衡化变换函数;3.对于图像中任意一点,以该点为中心,创建大小为m×n的当前分块;4.根据面积,计算当前分块范围内每个固定子块的权值;5.对每个变换函数进行加权平均,计算变换后的灰度值,替代当前点(即当前分块中心)灰度值二、彩色饱和度对比度增强《彩色数字图像处理》1.'m in{,,}m ax{,,}'m in{,,} m ax{,,}m in{,,}'m in{,,} R R R G BR G BG G R G BR G B R G BB B R G B-⎡⎤⎡⎤⎢⎥⎢⎥=-⎢⎥⎢⎥-⎢⎥⎢⎥-⎣⎦⎣⎦三、Contrast Enhancement of Images usingHuman Contrast Sensitivity1. ProcessHillocks (I ,τ,Δ)(1) 输入:源图像I 、控制变量τ、∆输出:处理后的图像I ’(2) I ’=I(3) 创建Hillocks 空栈S(4) 创建hillock h(5) 用I 初始化h 内的像素(6) S .push(h )(7) while (S != empty){h = S .pop()根据h 的阈值t 在h 内寻找连通区域for(每个连通区域c ){创建新的hillock h ’用c 初始化h ’内的像素for(h ’内的每个像素){'()(1)*('())I p s I p t t =+-+其中t 为h 的阈值,s 为hillock 最大值} (') min(({|'()'}))i threshold h I P p I pi h ==局部最小值(或极小值) (')max(('),())threshold h threshold h threshold h =+∆ S .push(h ’)}}2.增强算法Enhancer(τ,I,L,U)(1)输入:源图像I,控制变量τ、∆量,上下边界U、L输出:增强后的图像I’(2)I’=I(3)I’=ProcessHillocks(I’,τ,∆)(4)I’=U-I’(5)I’=ProcessHillocks(I’,τ,∆)(6)I’=U-I’(7)返回I’四、Contrast Enhancement Using Bright-ness Preserving Bi-Histogram Equali-zation.pdf。
电子科技大学数字图像处理实验报告实验名称彩色图像处理实验序号学生姓名学生学号指导教师提交日期摘要本实验利用MATLAB软件,对彩色图像作了一些简单处理。
通过访问数字图像RGB三个通道的对应矩阵,改变数字图像的色彩,得到了原图像的补色图像。
并编写了图像的RGB模型与HSI模型相互转换的程序,实现了两个模型之间的互相转换。
为了得到HSI模型的补色,可将HSI模型转换为RGB模型,用RGB的反色来近似HSI的反色。
然后对彩色图像加入高斯与椒盐噪声,观察了加入噪声后RGB三个通道的图像效果,并通过算术均值滤波与中值滤波分别对三个通道进行去噪,达到对整个彩色图像的去噪。
最后证明了单个通道的噪声会通过到HSI的转换扩散到所有HSI图像上。
实验原理:1、三基色原理:人的眼睛就像一个三色接收器的体系,大多数的颜色可以通过红、绿、蓝三色按照不同的比例合成产生。
同样绝大多数单色光也可以分解成红(red)绿(green)蓝(blue)三种色光。
这是色度学的最基本原理,即三基色原理。
三种基色是相互独立的,任何一种基色都不能由其它两种颜色合成。
红绿蓝是三基色,这三种颜色合成的颜色范围最为广泛。
红绿蓝三基色按照不同的比例相加合成混色称为相加混色。
人眼接收色彩的方法:加法混色。
光色(红色+绿色)=黄色(yellow)光色(红色+蓝色)=紫红(magenta)光色(蓝色+绿色)=青色(cyan)印刷四色:减法呈色颜料(黄色+青色)=白色-红色-蓝色=绿色颜料(紫红+青色)=白色-红色-绿色=蓝色颜料(黄色+紫红)=白色-绿色-蓝色=红色颜料色另外会附加一个黑色,即cyan、magenta、yellow、black四色(cmyk)。
2、彩色图像表示方法:RGB图像:一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色像素点都是在特定空间位置的彩色图像相对应的红绿蓝三个分量。
RGB图像可以看成是一个有三幅灰度图像形成的“堆”,形成一幅RGB图像的三个图像常称为红、绿或蓝分量图像。
增强图像对比度的方法增强图像对比度是指通过一系列图像处理操作,使图像中不同区域的亮度值之间的差异更加明显,以提高图像的视觉效果和可读性。
下面是一些常用的增强图像对比度的方法:1. 直方图均衡化:直方图均衡化是一种常见的增强图像对比度的方法。
它通过调整图像的灰度值分布,使得图像中各个灰度级别的像素点分布更加均匀,从而增强图像的对比度。
具体步骤如下:(1)计算图像的直方图,统计每个灰度级别的像素个数。
(2)计算累积直方图,即将每个灰度级别的像素个数累积起来,得到累积灰度级个数。
(3)根据累积直方图和原始图像的灰度级别,计算调整后的灰度级别,并将其应用到原始图像上,得到均衡化后的图像。
直方图均衡化可以有效增强图像的对比度,但有时也会导致细节丢失和噪声增加。
2. 自适应直方图均衡化:自适应直方图均衡化是对传统直方图均衡化的改进方法。
传统直方图均衡化是对整个图像进行处理,很难同时对亮度变化较大的区域和亮度变化较小的区域进行适当的增强。
自适应直方图均衡化则将图像分成许多小的区域,并对每个区域分别进行直方图均衡化,从而提高了增强效果。
具体步骤如下:(1)将图像划分成小的区域。
(2)对每个区域进行直方图均衡化。
(3)将均衡化后的区域拼接起来,得到增强后的图像。
自适应直方图均衡化可以在增强图像对比度的同时,保留图像的细节信息。
3. 对比度拉伸:对比度拉伸是一种简单有效的增强图像对比度的方法。
它通过对图像的像素值进行线性拉伸,将原始图像中像素值的范围映射到新的范围之内,从而增强图像的对比度。
具体步骤如下:(1)计算原始图像中的最小像素值和最大像素值。
(2)通过线性映射将原始图像中的像素值范围映射到新的范围之内。
对比度拉伸可以简单快速地增强图像的对比度,但有时会导致图像的灰度失去平衡,使得整体图像过亮或过暗。
4. 线性拉伸:线性拉伸是对比度拉伸的一种改进方法。
它通过定义一个合适的斜率和截距,将原始图像的像素值进行线性转换,从而增强图像的对比度。
电子科技大学 通信学院 学院 标 准 实 验 报 告 (实验)课程名称 图像对比度增强实验 电子科技大学教务处制表 电 子 科 技 大 学 实 验 报 告
学生姓名: 学 号: 指导教师: 实验地点: 实验时间:
一、 实验室名称: 通信系统实验室
二、 实验项目名称:图像对比度增强实验 三、 实验学时:16 四、 实验原理: 图像增强的目的是针对应用或人们主观需求,对输入图像进行某种处理,使得处理后的图像在特定结构或对比度等方面有明显的改善,其源头可以追溯到1969年。随着应用需求的不断发展,世界各国对此问题展开了广泛的研究。 特定结构或对比度不够清晰,可能来自质量不佳的成像设备、恶劣的大气条件、不恰当图像压缩算法等,其特点是图像中像素灰度集中在一个相对较小的范围,导致后端处理设备的观察者不能有效对图像进行判读。 造成图像对比度不够清晰的原因是多方面,包括电子系统的热噪声、光照过强、光照过弱、目标反射率过低、大雾天气、逆光拍摄、压缩等等。由于其产生原因的多样性,导致图像对比度不够清晰在图像中体现出来的现象也不同,可以分为以下3类:整体偏暗、整体偏亮、分布在亮和暗的两端,并且有可能在空间分布上存在多个区域。 现有的对比度增强技术根据其处理方法理论依据不同可分为:直方图均衡化、基于Retinex理论的图像增强、基于梯度场重建的图像增强;根据其处理范围,又可以分为全局处理与局部处理两大类。本实验将主要论述直方图均衡化和基于梯度场重建的图像增强两种方法,其中直方图均衡化进描述基本原理,其实现由学生独立完成,而基于梯度场重建的图像增强方法,本实验将重点阐述,并给出参考代码,要求学生在此基础上进行进一步的完善。 直方图均衡化的基本原理就是对图像进行灰度变换。灰度变换有逆反处理、阈值变换、灰度拉伸、灰度切分、灰度级修正、动态范围调整等方法。虽然它们对图像的处理效果不同,但处理过程中都运用了点运算,通常可分为线性变换、分段线性变换、非线性变换。其缺点是需要用户根据不同的图像调整不同的变换函数。灰度变换是最简单的对比度增强技术,它可增大图像动态范围,扩展对比度,使图像清晰、特征明显,是图像增强的重要手段之一。它主要利用点运算来修正像素灰度,由输入像素点的灰度值确定相应输出点的灰度值,是一种基于图像变换的操作。灰度变换不改变图像内的空间关系,灰度级的改变是根据某种特定的灰度变换函数进行。 实验所需基本结构如图1所示。
图1 实验所需基本结构图 本实验把成像设备(即摄像头)采集的一幅图像,传入计算机,由图像增强技术算法实现的编程软件处理后,对图像进行增强,然后实时显示增强后的图像。 图像对比度增强技术,不仅要保持图像整体的一致性,还需要对图像的局部区域进行增强处理,使其具有最佳的表现力。因此,本文采用梯度场方法。技术方案特点有: a) 梯度域增强避免了亮度不同对增强算子的影响 b) 重建图像是基于最小二乘法,与原始的图像在亮度方面不同 c) 重建图像在梯度域与原始图像具有强烈的相似性 d) 重建图像具有亮度平均值的相对保持性 e) 重建图像的边界条件周期延拓(采用DST变换要求) f) 所有算子都是直接计算 g) 较为复杂的DST变换有快速算法 1. 算法原理 计算机处理的图像是离散的网格数据,必须对前面的连续函数描述形式进行离散化处理。 令原始图像为(,)Ixy,增强后图像为(,)Ixy,尺寸为(行X列)MN,1,xN,1,yM,则增强后的梯度图像为:
),(),(),(yxyxIyxG (1)
),(yxI是图像(,)Ixy的梯度,yx,定义图像的一阶前向差分: ),()1,(),(),1(),(yxIyxIyxIyxIyxI
令(,)xyIxyII (,)xy是梯度图像提升因子,
CyxIyx2),(
1),(
(2) 其中是梯度场增益因子,取值为0.3~0.45,2),(maxyxIC,是梯度场归一化因子,是梯度场归一化偏移因子,保证(,)xy为有界值,取值为,10C。
增强后的图像应满足:),(2),(minarg),(~yxIdxyGyxIyxI,根据变分原理可得,重建的图像与增强后的梯度图像满足如下泊松方程: GdivyxI),(
~
2 (3)
其中 ),(~4)1,(~)1,(~),1(~),1(~),(~2yxIyxIyxIyxIyxIyxI (4)
增强梯度场G梯度的散度用后向一阶差分逼近: )1,(),(),1(),(yxGyxGyxGyxGGdiv
yyxx (5)
求解泊松方程的边界条件为:将输入的原始图像(,)Ixy扩展为(行X列)22MN,0,1xN,0,1yM,且满足:
NxyIMxINxyIxIMyyNIyNIMyyIyI1),1()1,(1),1()0,(1),(),1(1),1(),0(
(6) 重建图像(,)Ixy的取值可能超出8bit范围,需要对其进行归一化处理 ),(~maxmI~yxIax,),(~minmI~yxIin (7)
归一化后的图像为:
inaxinyxIImI~mI~mI~),(~*255
(8)
下面将阐述如何从泊松方程中求取重建图像
令2T,),(yxIU,FGdiv)(,向量U是重构图像),(~yxI的一个逼近,矩阵T是一个‘1 1 -4 1 1’的对角矩阵,F是包含边界条件的散度矩阵。
2cos22cos2
NxMyBAxyxy
(,)xy分别是矩阵的行列索引值。 离散正弦变换: 给定向量011(,,...,)Nxxxx,其正弦变换011(,,...,)NXXXX为:
正变换:101)1)(1(sinNnnkNknxX
逆变换:101)1)(1(sin12NkknNknXNx
Div(G) 2D IDST 计算特征值 2D DST
G(x,y) Bij Aij
重建图像 2. OpenCV 1.0 安装手册 2.1安装OpenCV:
图2 软件安装目录选择 图3 软件安装路径设置 从http://www.opencv.org.cn下载OpenCV安装程序。假如要将OpenCV安装到C:\Program Files\OpenCV。(图2,图3为OpenCV 1.0rc1的安装界面,OpenCV 1.0安装界面与此基本一致。)在安装时选择"将\OpenCV\bin加入系统变量"(Add\OpenCV\bin to the systerm PATH)。 2.2 配置Windows环境变量: 检查C:\Program Files\OpenCV\bin是否已经被加入到环境变量PATH,如果没有,请加入。加入后需要注销当前Windows用户(或重启)后重新登陆才生效。(可以在任务管理器里重启explorer.exe) 图4 软件安装环境变量设置 2.3 配置Visual C++ 6.0 2.3.1 全局设置:菜单Tools->Options->Directories:先设置lib路径,选
择Library files,在下方填入路径: C:\Program Files\OpenCV\lib 然后选择include files,在下方填入路径: C:\Program Files\OpenCV\cxcore\include C:\Program Files\OpenCV\cv\include C:\Program Files\OpenCV\cvaux\include C:\Program Files\OpenCV\ml\include C:\Program Files\OpenCV\otherlibs\highgui C:\Program Files\OpenCV\otherlibs\cvcam\include
图5 VC6.0开发软件环境路径设置 然后选择source files,在下方填入路径: C:\Program Files\OpenCV\cv\src C:\Program Files\OpenCV\cxcore\src C:\Program Files\OpenCV\cvaux\src C:\Program Files\OpenCV\otherlibs\highgui C:\Program Files\OpenCV\otherlibs\cvcam\src\windows
最后点击“ok”,完成设置。 2.3.2 项目设置:每创建一个将要使用OpenCV的VC Project,都需要给
它指定需要的lib。菜单:Project->Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library modules附加上
cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib
图6 VC6.0开发软件库文件包含设置 3. gsl-1.8安装手册 安装步骤如下: 1)下载gsl(http://download.csdn.net/source/2669056) 2)安装gsl-1.8.exe 安装后在安装目录下将有如下目录: \contrib\gsl-1.8 一些说明文件 \bin 二进制文件 libgsl.dll gsl的动态链接库(基于gcc的正式版本) libgsl_d.dll gsl的动态链接库(基于gcc的调试版本) libgslcblas.dll cblas的动态链接库(基于gcc的正式版本)