实验三 图像增强--灰度变换

合集下载

图像增强—灰度变换增强

图像增强—灰度变换增强

成绩评定表课程设计任务书摘要空域增强在数字图像处理中起到对图像灰度的拉伸、压缩变换的作用,目前这种方法在处理图像灰度值方面得到广泛的运用。

图像变换增强是利用一系列的变换方法使图像的对比度得到提升,以达到增强图像的目的,便于观察,易于区分不同灰度的图像。

灰度变换的方法有线性灰度变换、分段线性灰度变换、非线性灰度变换。

本文采用灰度变换技术,分别对灰度图像进行了线性灰度变换增强、非线性灰度增强和分段线性灰度增强。

仿真结果表明灰度变换可使图像动态范围增大,图像对比度扩展,图像变清晰,特征明显;对于灰度局限在某一个很小范围内的数字图像,采用线性函数对图像的每一个像素进行线性扩展,扩大像素的对比度,将有效地改善视觉效果,达到了提高图像对比度,增强图像效果的目的,证明了图像变换增强在数字图像处理中的重要作用。

关键词:空域增强;灰度变换;线性灰度变换;非线性灰度变换目录1 设计目的与要求 (1)1.1 设计目的 (1)1.2 设计要求 (1)2 设计原理 (1)2.1 线性灰度变换 (1)2.2 分段线性灰度变换 (2)2.3 非线性灰度变换 (3)3 设计方案 (3)3.1 设计思想 (3)3.2 设计流程 (4)4 软件实现 (5)4.1 线性灰度变换增强 (5)4.2 分段线性灰度变换增强设 (6)4.3 非线性灰度变换增强 (7)5 仿真与结果分析 (7)5.1 仿真 (8)5.2 结果分析 (10)结论 (11)参考文献 (12)1 设计目的与要求1.1 设计目的空域增强在数字图像处理中起到对图像灰度的拉伸、压缩变换的作用,目前这种方法在处理图像灰度值方面得到广泛的运用。

灰度变换是空域变换的一种重要方式,可使图像对比度扩展,图像清晰,特征明显。

本实验中,我们就用灰度变换来对灰度图像进行处理。

1.2 设计要求(1)熟练掌握MATLAB软件的基本操作(2)学会掌握MATLAB软件的程序编程(3)查阅相关资料并分析,掌握灰度变换增强的主要思路(4)培养独立分析和解决问题的能力,学会撰写课程设计的总结报告(5)善于总结和改进方案,提高可实施性和高效性。

数字图像处理--灰度变换增强

数字图像处理--灰度变换增强
以上为重现课本图3.4与图3.5的实验。
I=imread('cameraman.tif');
subplot(1,2,1);
imshow(I);
title('原始图像');
subplot(1,2,2);
imhist(I);
title('原始图像直方图');
I=imread('rice.png')
imshow(I)
figure,imhist(J)
figure,imshow(J)
I=imread('tire.tif')
imshow(I)
figure,imhist(I)
J=histeq(I)
figure,imhist(J)
figure,imshow(J)
subplot(2,2,4),imhist(a)
title('均衡化后直方图')
分别对图像‘pout.tif’和‘tire.tif’进行直方图均衡化处理,比较处理前后图像及直方图分布的变化。
I=imread('pout.tif')
imshow(I)
figure,imhist(I)
J=histeq(I)
figure,imhist(I,64)
figure,imhist(I,128)
figure,imhist(I,256)
灰度级n=64
灰度级n=128
灰度级n=256
I=imread('rice.png');
imshow(I);
figure,imhist(I);
J=imadjust(I,[0.15 0.9],[0 1]);

实验三图像增强--灰度变换

实验三图像增强--灰度变换

实验三图像增强--灰度变换实验三图像增强—灰度变换⼀、实验⽬的:1、了解图像增强的⽬的及意义,加深对图像增强的感性认识,巩固所学理论知识。

2、学会对图像直⽅图的分析。

3、掌握直接灰度变换的图像增强⽅法。

⼆、实验原理及知识点术语‘空间域’指的是图像平⾯本⾝,在空间域内处理图像的⽅法是直接对图像的像素进⾏处理。

空间域处理⽅法分为两种:灰度级变换、空间滤波。

空间域技术直接对像素进⾏操作其表达式为:g(x,y)=T[f(x,y)]其中f(x,y)为输⼊图像,g(x,y)为输出图像,T是对图像f进⾏处理的操作符,定义在点(x,y)的指定领域内。

定义点(x,y)的空间邻近区域的主要⽅法是,使⽤中⼼位于(x,y)的正⽅形或长⽅形区域。

此区域的中⼼从原点(如左上⾓)开始逐像素点移动,在移动的同时,该区域会包含不同的领域。

T应⽤于每个位置(x,y),以便在该位置得到输出图像g。

在计算(x,y)处的g值时,只使⽤该领域的像素。

灰度变换T的最简单形式是使⽤领域⼤⼩为1×1,此时,(x,y)处的g值仅由f在该点处的亮度决定,T也变为⼀个亮度或灰度级变化函数。

当处理单设(灰度)图像时,这两个术语可以互换。

由于亮度变换函数仅取决于亮度的值,⽽与(x,y)⽆关,所以亮度函数通常可写做如下所⽰的简单形式: s=T(r)其中,r表⽰图像f中相应点(x,y)的亮度,s表⽰图像g中相应点(x,y)的亮度。

核⼼函数是imhist,其基本语法为:h=imhist(f,b)其中,f为输⼊图像,h为其直⽅图h(),b是⽤于形成直⽅图像的灰度级的个数。

如果b未包含在此变量中,则默认值为256.如要处理⼀幅uint8类图像并令b=2,则亮度标度范围分为两部分:0—127和128—255.所得的直⽅图只有两个值:h(1)等于图像在区间[0,127]内的像素总数,h(2)等于图像在区间[127,255]内的像素总数。

使⽤ p=imhist(f,b)/numel(f)则可获得归⼀化直⽅图。

实验三 空域图像增强

实验三 空域图像增强

实验三空域图像增强(灰度变换、直方图处理)一、实验目的1. 掌握灰度变换的基本原理。

2. 掌握直方图处理的基本原理。

3. 掌握Matlab中灰度变换和直方图处理的实现方法。

二、实验内容1. 灰度变换(直接正比变换)。

2. 灰度变换(截取式正比变换)。

3. 灰度变换(反比变换)。

4. 灰度变换(对比拉伸)。

5. 灰度变换(灰度切割)。

6. 灰度变换(对数变换)。

7. 灰度变换(幂次变换)。

8. 直方图处理(直方图均衡化)。

三、实验仪器、设备及材料1. 电脑一台(2G CPU、2GB RAM、50GB Disk及以上)。

2. Windows 2000 / Windows XP / Windows 7。

3. Matlab R2006b及以上版本。

4. 记录用的笔、纸。

四、实验原理1. 灰度变换灰度变换是一种点操作,根据原始图像中每个像素的灰度值,按照某种映射规则将其转化为另一灰度值。

其原理是将原图像f(x , y)中的每个像素的灰度按EH操作直接变换以得到目标图像g(x , y)。

若以s表示f(x , y),以t表示g(x , y),则灰度变换原理如下图所示:2. 直方图处理直方图变换可以清晰图像细节,突出目标物体,改善亮度比例关系,增强图像对比度。

直方图变换基于概率论。

直方图均衡化主要用于增强动态范围偏小的图像的反差。

其基本思想是把原图像的直方图转换为均匀分布的形式,增加像素灰度值的动态范围,增强图像整体对比度。

五、实验步骤1. 灰度变换(直接正比变换)(1) 程序源代码:close allclear15clcdisp('====E4_4_1.m====');I=imread('rice.png');subplot(3,3,1),imshow(I),ylabel('原图像');subplot(3,3,2),imhist(I);%方法1-系统函数J=imadjust(I,[40/255 204/255],[0 1]); %图像的最小灰度值为40,最大灰度值为204subplot(3,3,4),imshow(J),ylabel('变换图像(方法1)');subplot(3,3,5),imhist(J);%方法2-编程实现%把灰度值范围从[40,204]映射到[0,255]f0=0;g0=0; %分段曲线的第1个点f1=40;g1=0; %分段曲线的第2个点f2=204;g2=255; %分段曲线的第3个点f3=255;g3=255; %分段曲线的第4个点subplot(3,3,9),plot([f0,f1,f2,f3],[g0,g1,g2,g3]),xlabel('f'),ylabel('g'),axis([0 255 0 255]);%绘制变换曲线r1=(g1-g0)/(f1-f0); %曲线1的斜率b1=g0-r1*f0; %曲线1的截距r2=(g2-g1)/(f2-f1); %曲线2的斜率b2=g1-r2*f1; %曲线2的截距r3=(g3-g2)/(f3-f2); %曲线3的斜率b3=g2-r3*f2; %曲线3的截距[m,n]=size(I);K=double(I);for i=1:mfor j=1:nf=K(i,j);g(i,j)=0;if(f>=f0)&(f<=f1)g(i,j)=r1*f+b1; %曲线1的方程y=r1*x+b1elseif (f>=f1)&(f<=f2)g(i,j)=r2*f+b2; %曲线2的方程y=r2*x+b2elseif (f>=f2)&(f<=f3)g(i,j)=r3*f+b3; %曲线3的方程y=r3*x+b3endendendendend16subplot(3,3,7),imshow(uint8(g)),ylabel('变换图像(方法2)');subplot(3,3,8),imhist(uint8(g));(2) 观察并记录实验结果:作为实验报告的内容(3) 将“分段曲线的第2个点”更改为“f1=150;g1=0;”,观察并记录实验结果,分析产生该结果的原因:作为实验报告的内容。

【VIP专享】3.图像增强—灰度变换 - 数字图像处理实验报告

【VIP专享】3.图像增强—灰度变换 - 数字图像处理实验报告

计算机与信息工程学院验证性实验报告专业:通信工程年级/班级:2011级 2013—2014学年第一学期课程名称数字图像处理指导教师段新涛本组成员学号姓名实验地点计科楼111实验时间周五5-6节项目名称图像增强—灰度变换实验类型验证性一、实验目的:1、了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。

2、学会对图像直方图的分析。

3、掌握直接灰度变换的图像增强方法。

二、实验原理及知识点术语‘空间域’指的是图像平面本身,在空间与内处理图像的方法是直接对图像的像素进行处理。

空间域处理方法分为两种:灰度级变换、空间滤波。

空间域技术直接对像素进行操作其表达式为g(x,y)=T[f(x,y)]其中f(x,y)为输入图像,g(x,y)为输出图像,T是对图像f进行处理的操作符,定义在点(x,y)的指定领域内。

定义点(x,y)的空间邻近区域的主要方法是,使用中心位于(x,y)的正方形或长方形区域。

此区域的中心从原点(如左上角)开始逐像素点移动,在移动的同时,该区域会包含不同的领域。

T应用于每个位置(x,y),以便在该位置得到输出图像g。

在计算(x,y)处的g值时,只使用该领域的像素。

灰度变换T的最简单形式是使用领域大小为1×1,此时,(x,y)处的g值仅由f在该点处的亮度决定,T也变为一个亮度或灰度级变化函数。

当处理单设(灰度)图像时,这两个术语可以互换。

由于亮度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式:s=T(r)其中,r表示图像f中相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。

三、实验内容:1、图像数据读出2、计算并分析图像直方图3、利用直接灰度变换法对图像进行灰度变换下面给出灰度变化的MATLAB程序f=imread('medicine_pic.jpg');g=imhist(f,256); %显示其直方图g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明暗转换(负片图像)figure,imshow(g1)%将0.5到0.75的灰度级扩展到范围[0 1]g2=imadjust(f,[0.5 0.75],[0 1]);figure,imshow(g2)g=imread('point.jpg');h=log(1+double(g)); %对输入图像对数映射变换h=mat2gray(h); %将矩阵h转换为灰度图片h=im2uint8(h); %将灰度图转换为8位图figure,imshow(h)四、实验仪器PC一台,MATLAB软件五、实验图片columbia480.bmp Fig0704(Vase).tif.tif六、实验程序及结果clc;clear allf=imread('columbia480.bmp');subplot 121;imshow(f)title('原始图像')subplot 122;imhist(f,256)title('原始图像直方图')%灰度转换,实现明暗转换(负片图像)f1=imadjust(f,[0 1],[1 0]);figure(2)subplot 121,imshow(f1)title('明暗转换后的图像')subplot 122;imhist(f1,256)title('明暗转换直方图')%将0.5到0.75的灰度级扩展到范围[0 1]f2=imadjust(f,[0.5 0.75],[0 1]);figure(3)subplot 121;imshow(f2)title('0.5到0.75的灰度级扩展到范围[0 1]的图像')subplot 122;imhist(f2,256)title('灰度级扩展直方图')像像像像050010001500200025003000像像像像像像像像像像像像像像像像像像像像像像0.5像0.75像像像像像像像像像[0 1]像像像0x 104像像像像像像像像clc;clear allm=imread('Fig0704(Vase).tif.tif');h=log(1+double(m)); %对输入图像对数映射变换h=mat2gray(h); %将矩阵h 转换为灰度图片h=im2uint8(h); %将灰度图转换为8位图figuresubplot 221;imshow(m)title('原始图像')subplot 222;imhist(m)title('原始图像直方图')subplot 223;imshow(h)title('经log 变换后的图像')subplot 224;imhist(h)title('经log 变换后的图像直方图')像像像像像像像像像像像像log 像像像像像像0像log 像像像像像像像像像教师签名:年 月 日。

实验三、直方图及灰度变换

实验三、直方图及灰度变换

实验三直方图及灰度变换一,目的熟悉并学会使用MA TLAB中图像增强的相关函数了解图像增强的方法、去噪的方法和效果二,实验条件1)微型计算机:INTEL 奔腾及更高2)MATLAB3)典型的灰度、彩色图像文件三,原理视一幅图像为二维矩阵,用MA TLAB进行图像增强直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。

四,实验内容1.线性变换设计:从灰度区间[a,b]到[a1,b2]cd d:I=imread('test.jpg');J=rgb2gray(I);%imshow(J);figure,subplot(2,2,1)imhist(J);[m n]=size(J);max_=0;min_=255;%for嵌套循环获取最小灰度及最大灰度值,也可两次调用min或max函数for x=1:1:mfor y=1:1:nif J(x,y) < min_min_=J(x,y);endif J(x,y) > max_max_=J(x,y);endendendmin_max_%循环进行函数计算,从而实现变换%原始图像的像素灰度范围【0,255】,变换后的图像像素灰度范围【min_,max_】for x=1:1:mfor y=1:1:nNEW(x,y)=min_+(max_-min_)/255*(J(x,y));endend%imshow(NEW);figure,subplot(2,2,2) imhist(NEW);010020002000400060008000图像变换前 0100200200040006000图像变换后2.直方图,用matlab语言自写一个程序设计并绘出图像直方图cd d:I=imread('test.jpg');J=rgb2gray(I);%imshow(J);figure,subplot(2,2,1)H=zeros(1,256);%zeros(m,n)产生m×n的零矩阵[m n]=size(J);for i=1:mfor j=1:nH(J(i,j)+1)=H(J(i,j)+1)+1;%从第一个开始,并统计灰度值endendplot(H);stem(H); %绘制二维离散数据的火柴杆图3.直方图的均衡化%一,图像的预处理,读入彩色图像将其灰度化cd d:I=imread('test.jpg');H=rgb2gray(I);imshow(H);%二,绘制直方图[m,n]=size(H); %测量图像尺寸参数GL=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255GL(k+1)=length(find(H==k))/(m*n);%计算每级灰度出现的概率,将其存入GP中相应位置endfigure,bar(0:255,GL,'g') %绘制直方图title('原图像直方图')xlabel('灰度值')ylabel('出现概率')%三,直方图均衡化S1=zeros(1,256); % zeros(m,n)产生m×n的零矩阵for i=1:256for j=1:iS1(i)=GL(j)+S1(i); %计算变换函数SkendendS2=round((S1*256)+0.5); %将Sk归到相近级的灰度for i=1:256GLPeq(i)=sum(GL(find(S2==i))); %计算现有每个灰度级出现的概率endfigure,bar(0:255,GLPeq,'b') %显示均衡化后的直方图title('均衡化后的直方图')xlabel('灰度值')ylabel('出现概率')%四,图像归一化PA=PS;for i=0:255PA(find(PS==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素endfigure,imshow(PA) %显示均衡化后的图像title('均衡化后图像')imwrite(PA,'JUNHENGHUA.bmp');均衡化前的图像-5005010015020025030000.0050.010.0150.020.025原图像直方图灰度值出现概率-5005010015020025030000.0050.010.0150.020.025均衡化后的直方图灰度值出现概率均衡化后图像均衡化后的图像参考:姚静,武文波,康停军. 直方图均衡化的Matlab 实现[J]. 辽宁工程技术大学学报,2007,S2:60-62.仅供参考。

图像增强__实验报告

图像增强__实验报告

深圳大学实验报告课程名称: 数字图像处理实验项目名称: 图像增强学院: 信息工程学院专业: 通信工程****: ***报告人: 学号: 班级: 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结合实例学习如何在视频显示程序中增加图像处理算法;2理解和掌握图像的线性变换和直方图均衡化的原理和应用;3了解平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像增强处理的程序设计方法;4 了解噪声模型及对图像添加噪声的基本方法。

二、实验原理1 灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。

)],([),(y x f T y x g =⎪⎩⎪⎨⎧<≤+-<≤+-≤≤=255),(]),([),( ]),([),(0 ),(),(y x f b g b y x f b y x f a g a y x f a y x f y x f y x g b a γβαn y m x ,2,1 ,,,2,1==2 直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像。

按照图像概率密度函数PDF 的定义:1,...,2,1,0 )(-==L k nn r p k k r 通过转换公式获得:1,...,2,1,0 )()(00-====∑∑==L k n n r p r T s k j k j j j r k k3 均值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其周围的临近像素。

将模板中的全体像素的均值(中值)来代替原来像素值的方法。

4 拉普拉斯算子如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--------111181111 拉普拉斯算子首先将自身与周围的8个像素相减,表示自身与周围像素的差异,再将这个差异加上自身作为新像素的灰度。

三、实验步骤1 启动MATLAB 程序,对图像文件分别进行灰度线性变换(参考教材57页,例4.1)、直方图均衡化(参考教材64页,例4.6)、均值滤波(参考教材69页,例4.9)、中值滤波(参考教材73页,例4.11)和梯度锐化操作(参考教材76页,例4.12)。

添加噪声,重复上述过程观察处理结果。

遥感图像增强实验报告

遥感图像增强实验报告

遥感图像增强实验报告引言遥感技术在地球科学和环境科学领域有着广泛的应用,其中图像增强是遥感图像处理的重要环节之一。

图像增强旨在改善遥感图像的视觉效果,使得图像的细节更加清晰、对比度更加鲜明,以便更好地进行地表特征的识别和分析。

在本次实验中,我们将探讨常用的图像增强方法,并且使用实际遥感图像进行增强实验。

实验目的1. 了解遥感图像增强的基本概念和方法。

2. 掌握常见的图像增强方法的实施过程。

3. 分析和比较不同图像增强方法的效果,选择最适合的增强方法。

实验步骤1. 数据准备:选择一张遥感图像作为实验数据,确保图像分辨率适中、含有一定的地表特征。

2. 灰度拉伸:使用灰度拉伸方法增强图像的对比度。

首先计算图像的最小灰度值(Min)和最大灰度值(Max),然后通过线性变换将灰度值映射到0-255的范围内。

3. 直方图均衡化:利用直方图均衡化方法增强图像的细节。

首先计算图像的灰度直方图,然后按照直方图均衡化的公式对每个灰度值进行调整。

4. 自适应直方图均衡化:对比直方图均衡化方法,自适应直方图均衡化能够避免对整个图像进行均衡化,而是通过使用局部领域内的信息来进行均衡化。

5. 对比度增强:使用对比度增强方法增强图像的对比度。

可以通过调整图像的亮度、对比度和饱和度来实现。

6. 结果分析:根据实验结果分析不同图像增强方法的效果,选择最佳的增强方法。

实验结果与分析经过实验,我们得到了经过不同图像增强方法处理后的图像。

通过对比实验前后的图像,我们可以得出以下结论:1. 灰度拉伸方法能够有效增强图像的对比度,使得图像的亮度范围更广,细节更加清晰。

2. 直方图均衡化方法能够增强图像的细节,特别是在暗部和亮部细节的表现上有显著提升。

3. 自适应直方图均衡化方法相比于普通直方图均衡化方法在处理具有大范围对比度差异的遥感图像时效果更好,避免了过度增强和信息损失。

4. 对比度增强方法可以通过调整图像的亮度、对比度和饱和度来增强图像的视觉效果,但对于某些场景可能会导致图像过度增强或过度饱和。

图像处理实验3-4

图像处理实验3-4

数字图像处理实验1. 直方图修正灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。

灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。

(1)计算出一幅灰度图像的直方图clearclose allI=imread(' rice.png');imhist(I)title('实验一(1)直方图');(2)对灰度图像进行简单的灰度线形变换,figuresubplot(2,2,1)imshow(I);title('试验2-灰度线性变换');subplot(2,2,2)histeq(I);(3)看其直方图的对应变化和图像对比度的变化原图像f(m,n) 的灰度范围[a,b] 线形变换为图像g(m,n),灰度范围[a’,b’] 公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)figuresubplot(2,2,1)imshow(I)J=imadjust(I,[0.3,0.7],[0,1],1);title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n)/(b-a)进行变换');subplot(2,2,2)imshow(J)subplot(2,2,3)imshow(I)J=imadjust(I,[0.5 0.8],[0,1],1);subplot(2,2,4)imshow(J)(4) 图像二值化(选取一个域值,将图像变为黑白图像)figuresubplot(2,2,1)imshow(I)J=find(I<150);I(J)=0;J=find(I>=150);I(J)=255;title(' 实验一(4)图像二值化( 域值为150 )');subplot(2,2,2)imshow(I)clc;I=imread(‘rice.png');bw=im2bw(I,0.5);%选取阈值为0.5figure;imshow(bw) %显示二值图像2. 图像处理变换1.傅立叶变换熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数分布. 2.离散余弦变换熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换.% 图像的FFT变换clc;I=imread('rice.png');subplot(1,2,1)imshow(I);title('原图');subplot(1,2,2)imhist(I);title('直方图');colorbar;J=fft2(I);figure;subplot(1,2,1)imshow(J);title('FFT变换结果');subplot(1,2,2)K=fftshift(J);imshow(K);title('零点平移');figure;imshow(log(abs(K)),[]),colormap(jet(64)),colorbar;title('系数分布图');% 图像的DCT变换RGB=imread('onion.png');figure;subplot(1,2,1)imshow(RGB);title('彩色原图');a=rgb2gray(RGB);subplot(1,2,2)imshow(a);title('灰度图');figure;b=dct2(a);imshow(log(abs(b)),[]),colormap(jet(64)),colorbar; title('DCT变换结果');figure;b(abs(b)<10)=0;% idctc=idct2(b)/255;imshow(c);title('IDCT变换结果');3. 小波变换实验内容:熟悉小波变换的概念和原理,熟悉matlab小波工具箱主要函数的使用.利用二维小波分析对一幅图像作2层小波分解,并在此基础上提取各层的低频信息实现图像的压缩.程序如下:clcclose allcleara=imread('deblur1.png ');subplot(1,2,1);imshow(a);title('原始图像');I=rgb2gray(a);subplot(1,2,2);imshow(I);title('原始图像的灰度图');% 进行二维小波变换[a,b] = wavedec2(I, 2, 'bior3.7');% 提取各层低频信息figure;c = appcoef2( a, b, 'bior3.7', 1 );subplot(1,2,1);imshow(c, []);title('一层小波变换结果');d = appcoef2( a, b, 'bior3.7', 2 );subplot(1,2,2);imshow(d, []);title('二层小波变换结果');4. 模板运算一、实验内容:(1)平滑:平滑的目的是模糊和消除噪声。

图像增强实验

图像增强实验

一、实验目的1、了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。

2、学会对图像直方图的分析。

3、掌握直接灰度变换的图像增强方法。

4、掌握直方图均衡化。

5、采用均值滤波、中值滤波实现图像平滑。

6、采用梯度方法、拉普拉斯算子、Sobel 算子和 Prewitt 算子实现图像锐化。

二、实验原理及知识点图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。

其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。

图像增强技术主要有直接灰度尺度变换、直方图修改处理、图像平滑化处理、图像尖锐化处理等。

1、 灰度变换灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。

在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理。

若假定原图像f(x, y)的灰度范围为[a, b ],希望变换后图像 g(x, y)的灰度范围扩展至[c, d ],则线性变换可表示为:g (x , y )= [ f (x , y ) − a ] + c2、 直方图变换直方图是图像的最基本的统计特征,它反映的是图像的灰度值的分布情况。

直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。

直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。

依据定义,在离散形式下, 用 r k 代表离散灰度级,用 p r (r k )代表 p r (r ),并且有下式成立:ab c d --P r(r k)=n k0 ≤r k≤ 1 k= 0,1,2,L,l−1 n式中:n k为图像中出现r k级灰度的像素数,n是图像像素总数,而n k/n即为频数。

k nj ks k= T (r k)=∑=∑ p r(r j) 0≤ r j≤1 k =0,1,L,l −1nj =0j =03、空域滤波空域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。

图像灰度变换增强

图像灰度变换增强

图像灰度变换增强摘要:灰度变换是基于点操作的增强方法,它将每一个像素的灰度值按照一定的数学变换公式转换为一个新的灰度值,如增强处理中的对比度增强。

对比度增强可以采用线性拉伸和非线性拉伸。

线性拉伸可以将原始输入图像中的灰度值不加区别地扩展。

如果要求对局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理时,采用分段线性拉伸。

非线性拉伸常采用对数扩展和指数扩展。

对数扩展拉伸低亮度去,压缩高亮度区;指数扩展拉伸了高亮区,压缩了低亮度区。

关键词:图像增强,灰度变换,线性变换,分段线性变换,非线性变换一. 概述影响系统图像清晰程度的因素很多,例如室外光照度不够均匀就会造成图像灰度过于集中;由CCD (摄像头)获得的图像经过A/D (数/模转换,该功能在图像系统中由数字采集卡来实现)转换、线路传送都会产生噪声污染等等。

因此图像质量不可避免的降低了,轻者表现为图像不干净,难于看清细节;重者表现为图像模糊不清,连概貌也看不出来。

因此,在对图像进行分析之前,必须要对图像质量进行改善,一般情况下改善的方法有两类:图像增强和图像复原。

图像增强不考虑图像质量下降的原因,只将图像中感兴趣的特征有选择的突出,而衰减不需要的特征,它的目的主要是提高图像的可懂度。

图像复原技术与增强技术不同,它需要了解图像质量下降的原因,首先要建立"降质模型",再利用该模型,恢复原始图像。

根据图像增强处理过程所在的空间不同,图像增强可分为空余增强法和频域增强法两大类。

频域增强是在图像的某种变换域内,对图像的变换系数值进行运算,即作某种修正,然后通过逆变换获得增强了的图像。

空域增强则是指直接在图像所在的二维空间进行增强处理,既增强构成图像的像素。

空域增强法主要有灰度变换增强,直方图增强,图像平滑和图像锐化等。

图像的灰度变换处理是图像增强处理技术中一种非常基础,直接的空间域图像处理法,也是图像数字化软件和图像显示软件的一个重要组成部分。

图像增强实验报告

图像增强实验报告

图像增强实验报告篇一:图像处理实验报告——图像增强实验报告学生姓名:刘德涛学号:2010051060021指导老师:彭真明日期:2013年3月31日一、实验室名称:光电楼329、老计算机楼309机房二、实验项目名称:图像增强三、实验原理:图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。

图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。

空间域的增强主要有:灰度变换和图像的空间滤波。

1.灰度变换灰度变换主要有线性拉伸、非线性拉伸等。

灰度图像的线性拉伸是将输入图像的灰度值的动态范围按线性关系公式拉伸到指定范围或整个动态范围。

令原图像f(x,y)的灰度变化范围为[a,b],线性变换后图像g(x,y)的范围为[a&#39;,b&#39;],线性拉伸的公式为:b&#39;?a&#39;g(x,y)?a?[f(x,y)?a] b?a灰度图像的非线性拉伸采用的数学函数是非线性的。

非线性拉伸不是对图像的灰度值进行扩展,而是有选择地对某一灰度范围进行扩展,其他范围的灰度值则可能被压缩。

常用的非线性变换:对数变换和指数变换。

对数变换的一般形式:g(x,y)?a?ln[f(x,y)?1] blnc指数变换的一般形式:g(x,y)?bc[f(x,y)?a]?1(a,b,c用于调整曲线的位置和形状的参数。

)2.图像的空间滤波图像的空间滤波主要有图像的空域平滑和锐化。

图像的平滑是一种消除噪声的重要手段。

图像平滑的低频分量进行增强,同时抑制高频噪声,空域中主要的方法有领域平均、中值滤波、多帧相加平均等方法。

图像锐化能使图像的边缘、轮廓处的灰度具有突变特性。

图像的锐化主要有微分运算的锐化,包括梯度法和拉普拉斯法算子。

四、实验目的:1.熟悉和掌握利用Matlab工具进行数字图像的读、写、显示等数字图像处理基本步骤。

图像处理灰度变换实验

图像处理灰度变换实验

一 . 实验名称: 空间图像增强(一)一. 实验目的1. 熟悉和掌握利用matlab 工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。

2. 熟练掌握各种空间域图像增强的基本原理及方法。

3. 熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。

4. 熟悉直方图均衡化的基本原理、方法和实现。

二. 实验原理(一)数字图像的灰度变换灰度变换是图像增强的一种经典而有效的方法。

灰度变换的原理是将图像的每一个像素的灰度值通过一个函数, 对应到另一个灰度值上去从而实现灰度的变换。

常见的灰度变换有线性灰度变换和非线性灰度变换, 其中非线性灰度变换包括对数变换和幂律(伽马)变换等。

1、线性灰度变换1)当图像成像过程曝光不足或过度, 或由于成像设备的非线性和图像记录设备动态范围太窄等因素, 都会产生对比度不足的弊病, 使图像中的细节分辨不清,图像缺少层次。

这时,可将灰度范围进行线性的扩展或压缩, 这种处理过程被称为图像的线性灰度变换。

对灰度图像进行线性灰度变换能将输入图像的灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。

2)令原图像 f(x,y)的灰度范围为 [a,b],线性变换后得到图像 g(x,y),其灰度范围为 [c,d],则线性灰度变换公式可表示为d , f ( x, y) bg(x, y)dc[ f (x, y) a] c, a f ( x, y) b (1)b aac, f ( x, y)由 (1)式可知,对于介于原图像 f(x,y)的最大和最小灰度值之间的灰度值,可通过线性变换公式, 一一对应到灰度范围 [c,d]之间,其斜率为 (d-c)/(b-a);对于小于原图像的最小灰度值或大于原图像的最大灰度值的灰度值, 令其分别恒等于变换后的最小和最大灰度值。

变换示意图如图 1 所示。

图 1 线性灰度变换示意图当斜率大于一时,变换后的灰度值范围得到拉伸,图像对比度得到提高;当斜率小于一时,变换后的灰度值范围被压缩,最小与最大灰度值的差变小,图像对比度降低;当斜率等于一时,相当于对图像不做变换。

图像的灰度变换增强实验报告

图像的灰度变换增强实验报告

图像的灰度变换增强实验报告一、实验目的1、 理解数字图像处理中点运算的基本作用;2、 掌握对比度调整与灰度直方图均衡化的方法。

二、实验原理1、对比度调整如果原图像f (x , y )的灰度范围是[m , M ],我们希望对图像的灰度范围进行线性调整,调整后的图像g (x , y )的灰度范围是[n , N ],那么下述变换:[]n m y x f mM n N y x g +---=),(),( 就可以实现这一要求。

MATLAB 图像处理工具箱中提供的imadjust 函数,可以实现上述的线性变换对比度调整。

imadjust 函数的语法格式为:J = imadjust(I,[low_in high_in], [low_out high_out])J = imadjust(I, [low_in high_in], [low_out high_out])返回原图像I 经过直方图调整后的新图像J ,[low_in high_in]为原图像中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围,灰度范围可以用 [ ] 空矩阵表示默认范围,默认值为[0, 1]。

不使用imadjust 函数,利用matlab 语言直接编程也很容易实现灰度图像的对比度调整。

但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是uint8型,而在MATLAB 的矩阵运算中要求所有的运算变量为double 型(双精度型)。

因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。

MATLAB 中提供了这样的数据类型转换函数:im2double 函数,其语法格式为:I2 = im2double(I1)运算之后的图像数据再显示时可以再转化成uint8型,格式为:I3 = uint8 (I2)2、直方图均衡化直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次。

数字图像处理实验报告图像增强处理与几何变换

数字图像处理实验报告图像增强处理与几何变换

实验图像增强处理与几何变换一、实验目的利用Matlab图像处理工具箱中的函数实现图像点处理、空间域平滑和锐化处理、彩色图像处理、几何处理,巩固其原理与计算方法学习,深化课程理论认知。

二、实验内容1、图像点处理:灰度变换、直方图均衡化和直方图规定处理;2、图像均值滤波和中值滤波、图像锐化处理;3、图像几何变换处理;4、图像彩色合成和彩色变换处理;三、实验步骤1、图像点处理:灰度变换、直方图均衡化和直方图规定处理;1.1图像的灰度变换启用MATLAB,输入以下代码运行I= imread('cameraman-8.bmp','bmp');figure; subplot(2,2,1), imshow(I);%获取图像直方图subplot(2,2,2),imhist(I);[counts1,x1] = imhist(I);%观察Counts,x的值subplot(2,2,3),stem(x1,counts1);%图像灰度变换J=imadjust(I,[0.1 0.7],[0.0 0.9]);subplot(2,2,4), imshow (J);%对比灰度变换前后的图像及其直方图figure;subplot(2,3,1),imshow(I);subplot(2,3,2),imshow(J);subplot(2,3,4),imhist(I);subplot(2,3,5),imhist(J);[counts2,x2] = imhist(J);subplot(2,3,6), stem(x2,counts2);图 1.1.1图 1.1.21.2图像直方图均衡化启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp','bmp') ;%直方图均衡化处理J=histeq(I) ;%对比均衡化处理前后的图像及其直方图figure(1),subplot(2,2,1),imshow(I),subplot(2,2,2),imshow(J); figure(1),subplot(2,2,3),imhist(I),subplot(2,2,4),imhist(J);图 1.2 1.3直方图规定化启用MATLAB,输入以下代码运行I1=imread('TM5.bmp','bmp');I2=imread('TM3.bmp','bmp');%直方图规定化处理K1=histeq(I1,imhist(I2));%对比规定化处理前后的图像及其直方图figure;subplot(3,2,1),imshow(I1);subplot(3,2,2), imhist(I1);subplot(3,2,3),imshow(I2);subplot(3,2,4), imhist(I2);subplot(3,2,5),imshow(K1);subplot(3,2,6), imhist(K1);图 1.32、图像空间域平滑2.1 用均值滤波器实现图像空间域的平滑启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp','bmp');J=imnoise(I,'gaussian'); %添加高斯噪声K=imnoise(I,'salt & pepper'); %添加椒盐噪声M=imnoise(I,'speckle'); %添加乘性噪声H=ones(3,3)/9; %3*3的均值去噪模板%滤波去噪处理I1=imfilter(I,H);J1=imfilter(J,H);K1=imfilter(K,H);M1=imfilter(M,H) ;%对比线性滤波去噪处理前后的图像figure;subplot(2,4,1),imshow(I);title('原图');subplot(2,4,2),imshow(J); title('高斯噪声图像'); subplot(2,4,3),imshow(K); title('椒盐噪声图像'); subplot(2,4,4),imshow(M); title('乘性噪声图像'); subplot(2,4,6),imshow(J1); title('高斯噪声滤波图像'); subplot(2,4,7),imshow(K1); title('椒盐噪声滤波图像'); subplot(2,4,8),imshow(M1) ; title('乘性噪声滤波图像') ; 输出图像如下图 2.12.2 用中值滤波器实现图像空间域的平滑启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt & pepper',0.02);I3=imnoise(I,'speckle');%3×3中值滤波模板J=medfilt2(I,[3,3]);J1=medfilt2(I1,[3,3]);J2=medfilt2(I2,[3,3]);J3=medfilt2(I3,[3,3]);figure,subplot(2,4,1),imshow(I) ; title('原图') ;subplot(2,4,2),imshow(I1) ; title('添加高斯噪声') ;subplot(2,4,3),imshow(I2) ; title('添加椒盐噪声') ;subplot(2,4,4),imshow(I3) ; title('添加乘性噪声') ;subplot(2,4,6),imshow(J1) ;title('高斯噪声3*3中值滤波') ; subplot(2,4,7),imshow(J2) ;title('椒盐噪声3*3中值滤波') ; subplot(2,4,8),imshow(J3) ;title('乘性噪声3*3中值滤波') ;K=medfilt2(I, [5,5]); %5×5中值滤波模板K1=medfilt2(I1,[5,5]);K2=medfilt2(I2,[5,5]);K3=medfilt2(I3,[5,5]);figure;subplot(2,2,1),imshow(K); title('原图5*5中值滤波'); subplot(2,2,2),imshow(K1) ; title('高斯噪声5*5中值滤波') ; subplot(2,2,3),imshow(K2); title('椒盐噪声5*5中值滤波'); subplot(2,2,4),imshow(K3) ; title('乘性噪声5*5中值滤波'); 输出结果如下图 2.2.1图 2.2.22.3 图像空间域锐化启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp','bmp')H=fspecial('sobel')%用sobel算子做模板%锐化处理J=imfilter(I,H)%锐化处理前后图像对比figure,subplot(1,2,1),imshow(I),subplot(1,2,2),imshow(J); 输出图像如下图 2.33、图像几何变换3.1 缩放启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp', 'bmp') ;%放大图像J=imresize(I,2) ;%缩小图像K=imresize(I,0.5) ;%图像对比figure(1),subplot(),imshow(I),title('原图'),figure(2),subplot(),imshow(J),title('放大两倍的图'),figure(3),subplot(),imshow(K),title('缩小0.5倍的图') ;输出图像如下图 3.1.1 图3.1.2图 3.1.33.2旋转启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp', 'bmp') ;%旋转图像M=imrotate(I,45) ;%图像对比figure;subplot(1,2,1),imshow(I),subplot(1,2,2),imshow(M) ;输出图像如下图 3.24、彩色图像处理4.1彩色合成启用MATLAB,输入以下代码运行I=imread('peppers.bmp','bmp');J1=I; J2=I;J3=I; J4=I;J5=I;%改变J1、J2、J3、J4、J5中的波段次序,组合成新的波段合成J1(:,:,1)=I(:,:,2); J1(:,:,2)=I(:,:,3); J1(:,:,3)=I(:,:,1) ;J2(:,:,1)=I(:,:,1); J2(:,:,2)=I(:,:,3); J2(:,:,3)=I(:,:,2) ;J3(:,:,1)=I(:,:,2); J3(:,:,2)=I(:,:,1); J3(:,:,3)=I(:,:,3) ;J4(:,:,1)=I(:,:,3); J4(:,:,2)=I(:,:,2); J4(:,:,3)=I(:,:,1) ;J5(:,:,1)=I(:,:,3); J5(:,:,2)=I(:,:,1); J5(:,:,3)=I(:,:,2) ;%对比原图像I与新图像J1、J2、J3、J4、J5的彩色差异,理解假彩色合成figure,subplot(2,3,1),imshow(I),title('原图');subplot(2,3,2),imshow(J1),title('变换一') ;subplot(2,3,3),imshow(J2),title('变换二') ;subplot(2,3,4),imshow(J3),title('变换三') ;subplot(2,3,5),imshow(J4),title('变换四') ;subplot(2,3,6),imshow(J5),title('变换五');输出图像如下图4.1 4.2彩色变换启用MATLAB,输入以下代码运行I=imread('peppers.bmp','bmp');HSV=rgb2hsv(I) ;RGB=hsv2rgb(HSV) ;%对比彩色变换前后的图像figure;subplot(1,3,1),imshow(I),title('原图'),subplot(1,3,2),imshow(HSV),title('HSV图像'); subplot(1,3,3),imshow(RGB),title('RGB图像') ;输出结果如下图 4.2四、实验算法要点总结1、图像点处理直方图修正法通常分为直方图均衡化和直方图规定化两类2、图像均值滤波和中值滤波、图像锐化处理3、图像几何变换处理4、图像彩色合成和彩色变换处理通过映射函数将彩色图像或多光谱图像变换成新的三基色分量线性假彩色映射表示为:。

实验3灰度增强

实验3灰度增强

实验3 图像增强 一 卷积应用函数conv2或者imfilter,对图像进行各种卷积运算。

使用函数fspecial ,你可以构造不同的滤波器模板进行滤波。

conv2函数在选项里选择’same ’,输出和输入的图像大小就会相等。

conv2和imfilter 两个函数的作用是相近的,只不过用conv2,需要先将图像和模板转换成double 类型,而imfilter 函数可以直接对uint8类型的数据直接滤波。

实验内容:验证至少3个不同的滤波器模板,其中至少要有锐化和平滑滤波器,对图像cameraman.png 分别用3x3, 7x7, 31x31的模板进行滤波,显示结果并进行分析;图1.1均值滤波指导老师: 日期:2018/4/02 数字图像处理实验报告班级: 学号:图1.2中值滤波图1.3不同掩模的Laplace锐化图1.4不同掩模的Laplace锐化图像增强图1.5“原图*2-平滑图像”得到锐化图像平滑滤波器分为均值滤波和中值滤波,平滑滤波器可对图像模糊处理,减小噪声。

由图1.1和图1.2得出:模板尺寸越大图像越模糊,图像细节丢越多;如果图像处理的目的是去除噪声,那么,平滑滤波在去除噪音的同时,也钝化了图像的边和尖锐的细节。

用不同掩模的Laplace锐化得到图1.3。

将原始图像和拉普拉斯图像叠加在一起的简单方法可以保护拉普拉斯锐化处理的效果,同时又能恢复原背景信息,得到增强后的图像,如图1.4。

当拉普拉斯掩模中心系数为正,如[0 -1 0;-1 5 -1;0 -1 0],输出图像为原图像加拉普拉斯图像;若系数为负,输出图像为原图像减拉普拉斯图像。

Laplacian检测模板的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感。

源程序:clcclear allI=imread('C:\Users\lenovo\Desktop\实验3图像增强\cameraman.png ');J=imread('C:\Users\lenovo\Desktop\实验3图像增强\wagon.png ');K=imread('C:\Users\lenovo\Desktop\实验3图像增强\wagon_shot_noise.png '); %**************1.不同大小模板的平滑均值滤波******************A=[1,2,1;2,4,2;1,2,1];%均值滤波算子A2=[1,1,1;1 2 1;1 1 1];%均值滤波算子I1=filter2(fspecial('average',3),I)/255; %进行3*3模板的均值滤波I2=filter2(fspecial('average',7),I)/255; %进行7*7模板的均值滤波I3=filter2(fspecial('average',31),I)/255; %进行31*31模板的均值滤波I5=filter2(A2/10,I)/255;%自定义3*3模板的均值滤波I6=filter2(A/16,I)/255; %自定义3*3模板的均值滤波subplot(231),imshow(I),title('原图');subplot(232),imshow(I1),title('3*3模板均值滤波');subplot(233),imshow(I6),title('自定义3*3模板均值滤波');subplot(234),imshow(I5),title('自定义3*3模板均值滤波');subplot(235),imshow(I2),title('7*7模板均值滤波');subplot(236),imshow(I3),title('31*31模板均值滤波');figure(1)%*************2.不同大小模板的平滑中值滤波************figure(2)II1=medfilt2(I,[3 3]);II2=medfilt2(I,[7 7]);II3=medfilt2(I,[31 31]);subplot(221),imshow(I),title('原图');subplot(222),imshow(II1),title('3*3模板中值滤波');subplot(223),imshow(II2),title('5*5模板中值滤波');subplot(224),imshow(II3),title('9*9模板中值滤波');%************3.不同掩模的拉普拉斯锐化滤波器**************figure(3)h1=[1 -2 1;-2 4 -2;1 -2 1];h2=[0 -1 0;-1 5 -1;0 -1 0];h3=[1 1 1;1 -8 1;1 1 1];h4=[1 1 1;1 -9 1;1 1 1];ii=im2double(I);i1=conv2(ii,h1,'same');i2=imfilter(ii,h2,'replicate');i3=conv2(ii,h3,'same');i4=imfilter(ii,h4,'replicate');m1=ii-i1;m2=ii+i2;%掩模中心系数为正则加m3=ii-i3;%反之减m4=ii-i4;subplot(231),imshow(I),title('原图');subplot(232),imshow(m1),title('掩模为[1 -2 1;-2 4 -2;1 -2 1]的Laplace锐化的图像增强');subplot(233),imshow(m2),title('掩模为[0 -1 0;-1 5 -1;0 -1 0]的Laplace锐化的图像增强');subplot(234),imshow(m3),title('掩模为[1 1 1;1 -8 1;1 1 1]的Laplace锐化的图像增强');subplot(235),imshow(m4),title('掩模为[1 1 1;1 -9 1;1 1 1]的Laplace锐化的图像增强');subplot(236),imshow(i2),title('掩模为[0 -1 0;-1 5 -1;0 -1 0]的拉普拉斯锐化图像'); %**************采用“原图*2-平滑图像”方法锐化图像******************** figure(4)subSample = I.*2 - uint8(I2);subplot(121),imshow(I),title('原图');subplot(122),imshow(subSample),title('原图*2-平滑图像”方法锐化图像');2.设计出与频域的低通,带通和高通具有类似功能的时域滤波器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三图像增强—灰度变换
一、实验目的:
1、了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。

2、学会对图像直方图的分析。

3、掌握直接灰度变换的图像增强方法。

二、实验原理及知识点
术语‘空间域’指的是图像平面本身,在空间域内处理图像的方法是直接对图像的像素进行处理。

空间域处理方法分为两种:灰度级变换、空间滤波。

空间域技术直接对像素进行操作其表达式为:
g(x,y)=T[f(x,y)]
其中f(x,y)为输入图像,g(x,y)为输出图像,T是对图像f进行处理的操作符,定义在点(x,y)的指定领域内。

定义点(x,y)的空间邻近区域的主要方法是,使用中心位于(x,y)的正方形或长方形区域。

此区域的中心从原点(如左上角)开始逐像素点移动,在移动的同时,该区域会包含不同的领域。

T应用于每个位置(x,y),以便在该位置得到输出图像g。

在计算(x,y)处的g值时,只使用该领域的像素。

灰度变换T的最简单形式是使用领域大小为1×1,此时,(x,y)处的g值仅由f在该点处的亮度决定,T也变为一个亮度或灰度级变化函数。

当处理单设(灰度)图像时,这两个术语可以互换。

由于亮度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式: s=T(r)
其中,r表示图像f中相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。

核心函数是imhist,其基本语法为:
h=imhist(f,b)
其中,f为输入图像,h为其直方图h(),b是用于形成直方图像的灰度级的个数。

如果b未包含在此变量中,则默认值为256.如要处理一幅uint8
类图像并令b=2,则亮度标度范围分为两部分:0—127和128—255.所得的直方图只有两个值:h(1)等于图像在区间[0,127]内的像素总数,h(2)等于图像在区间[127,255]内的像素总数。

使用 p=imhist(f,b)/numel(f)
则可获得归一化直方图。

其中numel(f)是数组f中的元素个数(图像中的像素数)
三、实验内容:
1、图像数据读出
2、计算并分析图像直方图
3、利用直接灰度变换法对图像进行灰度变换
4、直方图绘制选项
例1:计算并绘制图像直方图
f=imread('e:\images\medicine.jpg');
imshow(f);
g=rgb2gray(f);
figure(2),imshow(g);
figure(3),imhist(g,256); %显示其直方图
g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明暗转换(负片图像)
figure,imshow(g1);
g2=imadjust(f,[0.5 0.75],[0 1]); %将0.5到0.75的灰度级扩展到范围[0 1]
figure,imshow(g2);
figure,subplot(1,2,1),imshow(g1);subplot(1,2,2),imshow(g2);
例2.1:显示图像的直方图
>> f=imread('e:\images\pollen.jpg');
>> whos f
Name Size Bytes Class
f 500x500x3 750000 uint8 array
Grand total is 750000 elements using 750000 bytes >>figure(1),imshow(f)
>> g=rgb2gray(f);
>> imshow(g)
>> figure,imhist(g);
2.2 学习使用imcontour函数
显示图像的等灰度值图
imcontour(I,n) n为灰度级的个数
imcontour(I,v) v是由用户指定所选的灰度级向量
>> figure(4),imcontour(g,8);
3、学习使用imadjust函数
通过直方图调整对比度
J=imadjust(I,[low high],[bottom top],gamma) 返回图像I经直方图调整后的图像J [low high] 为原图像中要变换的灰度范围
[bottom top] 指定了变换后的灰度范围
gamma为校正量
>> figure(3),imhist(g);
>> k=imadjust(g,[0.1 0.2 ] ,[ ]);
>> figure(4),imhist(k);
>> k=imadjust(g,[0.1 0.2 ] ,[ ]);
>> figure(4),imhist(k);
>> figure(5),imshow(k);
4、histeq函数
直方图均衡化
J=histeq(I,hgram)
将直方图变换成用户指定的向量hgram. hgram中的每一个元素都在[0 ,1]中。

J=histeq(I,n)
指定均衡化后的灰度级数n,缺少为64.
[J,T]=histeq(I,……)
返回从能将图像I的灰度直方图变换成图像J的直方图的变换T。

>> f=imread('e:\images\tyre.jpg');
>> whos f
Name Size Bytes Class
f 128x137x3 52608 uint8 array
Grand total is 52608 elements using 52608 bytes
>> imshow(f) >> g=rgb2gray(f);
>> figure,imhist(g);
>> k=histeq(g);
>> figure,imshow(k);
>> figure,imhist(k);
例3:
g=imread('e:\images\point.jpg');
figure(1),imshow(g);
h=log(1+double(g)); %对输入图像对数映射变换
h=mat2gray(h); %将矩阵h转换为灰度图片
h=im2uint8(h); %将灰度图转换为8位图
figure,imshow(h)
5、通过imhist函数,可以得到工具箱中默认显示的直方图。

但绘制直方图的方法还有很多,下面是一些有代表性的绘制选项。

可以利用条形图来绘制,可以使用函数:
bar( horz,v,width)
其中v是一个行向量,包含将被绘制的点;horz是一个与v有着相同的维数的向量,包含水平值的增量;width是一个值在0和1之间的数。

若省略horz,则水平轴会从0到length(v)等分为若干个单位。

当width的值为1时,竖条较明显。

当width的值为0时,竖条是简单的垂直线。

绘制条形图时,通常将水平轴等分为几段,以降低水平轴的分辨率。

例:生成一幅条形图,其水平轴以10个灰度级为一组。

h=imhist(f);
h1=h(1:10:256);
horz(1:10:256);
bar(horz,h1,1);
bar(horz,h1,0.8);
bar(h1,1);
figure(4),stem(horz,h,'fill');
axis([0 255 0 500]);
>> set(gca,'xtick',[0:50:255]);
>> set(gca,'ytick',[0:50:500]);
5、最后,考虑plot函数,该函数将一组点用直线连接起来,语法为:
plot(horz,v,’color_linestyle_marker’)
如:>>plot(horz,v,’color’,’g’,’linestyle’,’none’,’marker’,’s’)
将绘制中间无连线的绿色方形。

Plot的默认值为黑色无标记实线。

四、实验仪器
PC一台,MATLAB软件
五、实验图片
Fig.1 point.jpg Fig.2 medicine.jpg。

相关文档
最新文档