图像处理例子论文
基于MATLAB 的图像处理考试大作业
学生姓名:龙先生
学
专业班级号:12889999:级班
提交日期20013年11月
摘要:
数字图像图像分析等图像处理。
实验目的:学会用matlab 对图像进行处理,
关键词:MATLAB,数字图像处理,图像增强,图像求反,直方图均衡化,LOG 算子检测边缘; 线性平滑滤波器. 。
实验步骤:了解以上图像处理方法的基本概念,学会这些方法在计算计算机通过matlab 运行。
一,图像增强:它是一类基本的图像处理技术,其目的是对图像进行加工,以得到对具体应用来说视觉效果更好、更有用的图像。这里的好和有用要因具体的应用目的和要求而异,并且所需的具体增强技术也可不同。
目前常用的增强技术根据其处理所进行的空间不同,可分为基于图像域的方法和基于变化域的方法。第一类,直接在图像所在的空间进行处理,也就是在像素组成的空间里直接对像素进行操作;第二类,在图像的变化域对图像进行间接处理。
空域增强方法可表示为:g(x,y)=EH[f(x,y)]
其中f (x ,y )和g (x ,y )分别为增强前后的图像,EH 代表增强操作。
空域变换增强
增强对比度
增强对比度实际是增强原图像的各部分的反差。实际中往往是通过原图中某两个灰度值之间的动态范围来实现的(如图4-1)。
其范围的对比度增加了。
MATLAB 代码所示:
X1=imread('pout.tif');
figure,imshow(X1)
f0=0;g0=0;
f1=70;g1=30;
f2=180;g2=230;
f3=255;g3=255;
r1=(g1-g0)/(f1-f0);
b1=g0-r1*f0;
r2=(g2-g1)/(f2-f1);
b2=g1-r2*f1;
r3=(g3-g2)/(f3-f2);
b3=g2-r3*f2;
[m,n]=size(X1);
X2=double(X1);
for i=1:m
for j=1:n
f=X2(i,j);
g(i,j)=0;
if(f>=0)&(f
g(i,j)=r1*f+b1;
elseif (f>=f1)&(f
g(i,j)=r2*f+b2;
elseif (f>=f2)&(f
g(i,j)=r3*f+b3;
end
end
end
figure,imshow(mat2gray(g))
图像处理图示(如图4-2和图4-3)
图4-2
原图
图4-3增强对比度所得图像
二,图像求反.
对图像求反是将原来的灰度值翻转,简单的说就是使黑变白,使白变黑。
普通的黑白底片和照片就是这样的关系。具体的变换就是将图像中每个像素的灰度值根据变换曲线进行映射。
MATLAB 代码所示:
X1=imread('pout.tif');
f1=200;
g1=256;
k=g1/f1;
[m,n]=size(X1);
X2=double(X1);
for i=1:m
for j=1:n
f=X2(i,j);
g(i,j)=0;
if(f>=0)&(f
g(i,j)=g1-k*f;
else
g(i,j)=0;
end
end
end
figure,imshow(mat2gray(g))
图像处理图如图4-4所示:
图4-4图像求反后
三,直方图均衡化
原理:
直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。
编写的程序如下:
I=imread('C:\Documentsand Settings\Administrator\桌面\新建文件夹\111.jpg');I=rgb2gray(I);
figure;
subplot(2,2,1);
imshow(I);
subplot(2,2,2);
imhist(I);
I1=histeq(I);
figure;
subplot(2,2,1);
imshow(I1);
subplot(2,2,2);
imhist(I1);
原图
图像的直方图
四:LOG 算子检测边缘;
数码管图像的目标和背景分离不明显,直方图分布较复杂。针对该问题,提出基于拉普拉斯高斯(Laplacianof Gaussian,LoG)算子边缘检测的全局二值化方法对其进行处理,该方法通过提取图像边缘部份的像素灰度获得图像二值化的阈值。处理结果表明,与传统的几种方法相比,该方法能够快速选取良好的二值化阈值,较好地区分目标和背景,在相当大模板宽度内图像二值化的结果都令人满意。
程序如下:
I=imread('C:\Documentsand Settings\Administrator\桌面\新建文件夹\111.JPG');subplot(2,2,1);
imshow(I);
title('原始图像');
I1=rgb2gray(I);
subplot(2,2,2);
imshow(I1);
title('灰度图像');
I2=edge(I1,'log');
subplot(2,2,3);
imshow(I2);
title('log算子分割结果');
五:线性平滑滤波器:
平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,因此需合理选择邻域的大小。
用MATLAB 实现领域平均法抑制噪声程序:
I=imread('C:\Documentsand Settings\Administrator\桌面\新建文件夹\111.JPG');subplot(231)
imshow(I)
title('原始图像')
I=rgb2gray(I);
I1=imnoise(I,'salt&pepper',0.02);
subplot(232)
imshow(I1)
title('添加椒盐噪声的图像')
k1=filter2(fspecial('average',3),I1)/255;
k2=filter2(fspecial('average',5),I1)/255;
k4=filter2(fspecial('average',9),I1)/255;
subplot(233),imshow(k1);title('3*3模板平滑滤波');
subplot(234),imshow(k2);title('5*5模板平滑滤波');
subplot(235),imshow(k3);title('7*7模板平滑滤波');
subplot(236),imshow(k4);title('9*9模板平滑滤波
');
总结
这个作业主要介绍了数字图像的理论知识及MATLAB 语言的特点,基于MATLAB 的数字图像处理环境,在matlab 环境下对图像进行处理,得到自己想要的理想图片。