《计算机图形图像处理(设计)》实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《计算机图形图像处理》实验报告册学院:旅游与环境学院专业:地理信息系统教师:肖冰(副教授)组员:周伟(41209163)刘杰(41209165)苟芬(41209190)马芳(41209179)陈家浩(41209166)基于MATLAB图像增强处理实验时间:2015年6月24日实验背景:图像增强处理可以使得处理后的图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。实验目的:1.了解MATLAB的操作环境和基本功能。2.掌握MATLAB中图像增强处理的几种技术的使用。3.加深理解图像增强处理的实验原理。实验环境:Windws7MATLAB7.0二.实验原理数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。在图像处理中,图像增强技术对于提高图像的质量起着重要的作用。本文先对图像增强的原理以及各种增强方法进行概述,然后着重对灰度变换、直方图均衡化、平滑和锐化等几种常用的增强方法进行了深入的研究,在学习数字图像的基本表示与处理方法的基础上,针对图像增强的普遍性问题,研究和实现常用的图像增强方法及其算法,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的适用场合,并对其图像增强方法进行性能评价。三.实验内容及步骤:实验流程图如下:1.彩色图像的均衡化步骤:1统计原图像素每个像素的个数2统计原图像每个灰度级的像素的累积个数3家里灰度级得映射规则4将原图每个像素点的灰度映射到新图1.clearall2.I=imread('F:\computer\哪吒.jpg');%读入JPG彩色图像文件3.imshow(I)%显示出来4.title('哪吒')5.I_gray=rgb2gray(I);%灰度化后的数据存入数组6.imwrite(I_gray,'灰度图.bmp');%保存灰度图像7.figure,imshow(I_gray);8.title('灰度图')9.10.[height,width]=size(I_gray);%测量图像尺寸参数11.p=zeros(1,256);%预创建存放灰度出现概率的向量12.fori=1:height13.forj=1:width14.p(I_gray(i,j)+1)=p(I_gray(i,j)+1)+1;15.end16.end17.s=zeros(1,256);18.s(1)=p(1);19.fori=2:256图片数据及软件准备RGB图像读入代码输入图像及结果输出结果分析与讨论20.s(i)=p(i)+s(i-1);%统计图像中每个灰度级像素的累积个数,s(i):0,1,```,i-121.end22.23.fori=1:25624.s(i)=s(i)*256/(width*height);%求灰度映射函数25.ifs(i)25626.s(i)=256;27.end28.end29.30.%图像均衡化31.I_equal=I;32.fori=1:height33.forj=1:width34.I_equal(i,j)=s(I(i,j)+1);35.end36.end37.figure,imshow(I_equal)%显示均衡化后的图像38.title('均衡化后图像')39.imwrite(I_equal,'哪吒.bmp');结果显示如下:2对于灰度图的直方图均衡化:有些图像在低值灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚。这时可以通过直方图均衡化将图像的灰度范围分开,并且让灰度频率较小的灰度级变大,通过调整图像灰度值的动态范围,自动地增加整个图像的对比度,使图像具有较大的反差,细节清晰。实验代码如下:1.%直方图均衡化2.clear;3.I=imread('哪吒gray.bmp');4.[height,width]=size(I);5.figure6.subplot(221)7.imshow(I)%显示原始图像8.subplot(222)9.imhist(I)%显示原始图像直方图10.11.%进行像素灰度统计;12.s=zeros(1,256);%统计各灰度数目,共256个灰度级13.fori=1:height14.forj=1:width15.s(I(i,j)+1)=s(I(i,j)+1)+1;%对应灰度值像素点数量增加一16.end17.end18.%计算灰度分布密度19.p=zeros(1,256);20.fori=1:25621.p(i)=s(i)/(height*width*1.0);22.end23.%计算累计直方图分布24.c=zeros(1,256);25.c(1)=p(1);26.fori=2:25627.c(i)=c(i-1)+p(i);28.end29.%累计分布取整,将其数值归一化为1~25630.c=uint8(255.*c+0.5);31.%对图像进行均衡化32.fori=1:height33.forj=1:width34.I(i,j)=c(I(i,j)+1);35.end36.end37.38.subplot(223)39.imshow(I)%显示均衡化后的图像40.subplot(224)41.imhist(I)%显显示均衡化后的图像的直方图结果如下所示:3.对比度增强处理:有些图像的对比度比较低,从而使整个图像模糊不清。这时可以按一定的规则修改原来图像的每一个象素的灰度,从而改变图像灰度的动态范围。实验代码如下所示:1.clcclearA=imread('F:\computer\哪吒.jpg');2.f0=0;3.f1=80;4.f2=180;5.f3=255;6.y0=0;7.y1=20;8.y2=240;9.y3=255;10.I=double(A);11.[m,n,o]=size(A)forx=1:mfory=1:nQ(x,y)=0;12.ifI(x,y)80Q(x,y)=I(x,y)*0.25;13.elseif(I(x,y)=80)&&(I(x,y)180)Q(x,y)=I(x,y)*2.2-156;14.elseQ(x,y)=I(x,y)*0.2+204;15.end16.end17.End18.P=mat2gray(Q);19.subplot(2,2,1);20.subimage(A);21.title('原图');22.subplot(2,2,2);23.subimage(P);24.title('对比度增强');25.subplot(2,2,3);26.plot([f0,f1,f2,f3],[y0,y1,y2,y3]);27.title('灰度映射曲线')实验结果如下图所示:4.空域滤波增强:(1.线性平滑滤波)平滑滤波:是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,因此需合理选择邻域的大小。实验代码如下:I=imread('1_gray.bmp');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窗的邻域平均滤波图像')结果如下图所示:(2.)二维中值滤波函数medfit2来进行图像中椒盐躁声的去除)中值滤波:基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替。实验代码如下:hood=3;%滤波窗口[I,map]=imread('1_gray.bmp');imshow(I,map);noisy=imnoise(I,'salt&pepper',0.05);figure;imshow(noisy,map);filtered1=medfilt2(noisy,[hoodhood]);figure;imshow(filtered1,map);hood=5;filtered2=medfilt2(noisy,[hoodhood]);figure;imshow(filtered2,map);hood=7;filtered3=medfilt2(noisy,[hoodhood]);figure;imshow(filtered3,map);结果如下所示:邻域平均法的思想是用像素及其指定邻域内像素的平均值或加权平均值作为该像素的新值,以便去除突变的像素点,从而滤除一定的噪声。实验代码如下:平均滤波算法:clc;[I,map]=imread('eight.tif');noisy=imnoise(I,'salt&pepper',0.05);myfilt1=[010;111;010];%4邻域平均滤波模版myfilt1=myfilt1/9;%对模版归一化filtered1=filter2(myfilt1,noisy);imshow(filtered1,map);myfilt2=[111;111;111];myfilt2=myfilt2/9;filtered2=filter2(myfilt2,noisy);figure;imshow(filtered2,map);结果如下所示:频域处理法:低通滤波器:低通滤波是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。但是阻隔、减弱的幅度则会依据不同的频率以及不同的滤波程序(目的)而改变。实验代码如下:[I,map]=imread('1_gray.bmp');noisy=imnoise(I,'gaussian',0.05);imshow(noisy,map);myfilt1=[111;111;111];myfilt1=myfilt1/9;filtered1=filter2(myfilt1,noisy);figure;imshow(filtered1,map);myfilt2=[111;121;111];myfilt2=myfilt2/10;filtered2=filter2(myfilt2,noisy);figure;imshow(filtered2,map);myfilt3=[121;242;121];myfilt3=filter2(myfilt3,noisy);figure;imshow(filtered3,map);结果如下图显示:色彩增强处理:彩色图像和灰度图像的根本区别是:在彩色图像中,每个像素用一个矢量(一般包括三个分量)来表示,即R分量、G分量和B分量。而灰度图像每一个像素只用一个标量来表示。这样,处理彩色图像时处理的是矢量,处理灰度图像处理的是标量。我们也可以把彩色图像中的三个分量分开,分别计算加工再进行结合,这种处理技术称为基于单色的技术。1.真彩色增强实例:3.%真彩色图像的分解4.clc;5.RGB=imread('F:\computer\酒杯.jpg');6.subplot(221),imshow(RGB)7.title('原始真彩色图像')8.subplot(222),imshow(RGB(:,:,1))9.title('真彩色图像的红色分量')10.subplot(223),imshow(RGB(:,:,2))11.title('真彩色图像的绿色分量')12.subplot(224),imshow(RGB(:,:,3))13.title('真彩色图像的蓝色分量')结果如下图所示:2.伪彩色增强由于人眼的彩色敏感细胞能分辨出几

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功