数字图像 实验报告doc.docx
- 文档编号:20132563
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:37
- 大小:2.67MB
数字图像 实验报告doc.docx
《数字图像 实验报告doc.docx》由会员分享,可在线阅读,更多相关《数字图像 实验报告doc.docx(37页珍藏版)》请在冰豆网上搜索。
数字图像实验报告doc
福建农林大学金山学院
信息工程类
实验报告
课程名称:
数字图像处理
姓名:
程庆运
系:
信息与机电工程系
专业:
计算机科学与技术
年级:
2010级
学号:
100202003
指导教师:
范群贞
职称:
助教
2013年6月25日
实验项目列表
序号
实验项目名称
成绩
指导教师
1
实验一:
图像的几何变换
范群贞
2
实验二:
图像增强
范群贞
3
实验三:
图像复原
范群贞
4
实验四:
图像压缩编码
范群贞
5
实验五:
图像分割
范群贞
6
平均成绩
福建农林大学金山学院信息工程类实验报告
系:
信息与机电工程系专业:
计算机科学与技术年级:
2010级
姓名:
程庆运学号:
100202003实验课程:
数字图像处理
实验室号:
_实验1楼608实验设备号:
实验时间:
2013.5.21
指导教师签字:
成绩:
实验一图像的几何变换
1.实验目的和要求
(1)熟悉MATLAB的操作和基本功能;
(2)理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用;
2.实验仪器
计算机;
MATLAB程序;
记录用的笔、纸。
3.实验原理
1.初始坐标为(
)的点经过平移(
,
),坐标变为(
,
),两点之间的关系为:
,以矩阵形式表示为:
2.图像的镜像变换是以图象垂直中轴线或水平中轴线交换图像的变换,分为垂直镜像变换和水平镜像变换,两者的矩阵形式分别为:
3.图像缩小和放大变换矩阵相同:
当
时,图像缩小;
时,图像放大。
4.图像旋转定义为以图像中某一点为原点以逆时针或顺时针方向旋转一定角度。
其变换矩阵为:
该变换矩阵是绕坐标轴原点进行的,如果是绕一个指定点(
)旋转,则现要将坐标系平移到该点,进行旋转,然后再平移回到新的坐标原点。
4.实验步骤
1.启动MATLAB程序,对图像文件分别进行平移、垂直镜像变换、水平镜像变换、缩放和旋转操作,与实验运行结果进行比对;
2.记录和整理实验报告
5.实验程序
(1)
F=imread('TM.png');
subplot(2,1,1);
imshow(F);title('原图形');
se=translate(strel
(1),[50100]);
J=imdilate(F,se);
subplot(2,1,2);
imshow(J,[]);title('右移后图形')
(2)
function[J]=mirror(I,n)
[M,N]=size(I);
J=I;
if(n==1)
fori=1:
M
forj=1:
N
J(i,j)=I(i,N-j+1);
end
end
elseif(n==2)
fori=1:
M
forj=1:
N
J(i,j)=I(M-i+1,j);
end
end
elseif(n==3)
fori=1:
M
forj=1:
N
J(i,j)=I(M-i+1,N-j+1);
end
end
else
error('niswrong');
end
F=imread('C:
/a.jpg');
I=rgb2gray(F);
subplot(2,2,1);
imshow(I);
title('原图像');
J1=mirror(I,1);
J2=mirror(I,2);
J3=mirror(I,3);
subplot(2,2,2);
imshow(J1);
title('水平镜像');
subplot(2,2,3);
imshow(J2);
title('垂直镜像');
subplot(2,2,4);
imshow(J3);
title('水平镜像的垂直镜像');
(3)
I=imread('1.jpg');
imshow(I);
title('原图形');
J=imresize(I,0.5);
figure;
imshow(J);
title('图像缩放');
I=imread('1.jpg');
figure,imshow(I);
title('原图形');
X1=imresize(I,2);
X2=imresize(I,0.5);
figure,imshow(X1);
title('图像放大2倍');
figure,imshow(X2);
title('图像缩小0.5倍');
(4)
i=imread('TM.jpg');
subplot(2,1,1);
imshow(i);
title('原图像');
j=imrotate(i,30);
subplot(2,1,2);
imshow(j);
title('图像旋转');
6.实验报告内容
1
2
3.
3
4
7.思考题
1.改变水平和垂直的偏移量,观察显示?
2.改变缩放比例,看看效果如何?
3.改变旋转角度,显示效果会怎么样?
福建农林大学金山学院信息工程类实验报告
系:
信息与机电工程系专业:
计算机科学与技术年级:
10
姓名:
程庆运学号:
100202003实验课程:
数字图像处理
实验室号:
_实验1楼608实验设备号:
J608S071实验时间:
2013.5.28
指导教师签字:
成绩:
实验二图像增强
一、实验目的
1、掌握灰度直方图的概念及其计算方法;
2、熟练掌握直力图均衡化和直方图规定化的计算过程;
3、掌握平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像增强处理的程序设计方法;
4、了解噪声模型及对图像添加噪声的基本方法;
5、利用MATLAB程序进行图像增强。
二、实验原理
图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。
其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。
图像增强技术主要有直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。
1、直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像。
按照图像概率密度函数PDF的定义:
通过转换公式获得:
2、均值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其周围的临近像素。
将模板中的全体像素的均值(中值)来代替原来像素值的方法。
3、拉普拉斯算子如下:
拉普拉斯算子首先将自身与周围的8个像素相减,表示自身与周围像素的差异,再将这个差异加上自身作为新像素的灰度。
三、实验步骤
1、打开计算机,启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件;
2、调入待处理的数字图像,并进行计算机均衡化处理;
3、启动MATLAB程序,对图像文件分别进行直方图均衡化、均值滤波、中值滤波和拉普拉斯锐化操作;添加噪声,重复上述过程观察处理结果。
四、实验仪器
1、计算机;
2、MATLAB程序;
3、移动式存储器(软盘、U盘等)。
4、记录用的笔、纸。
五、实验程序
(1)
A=imread('lv.jpg');
A=rgb2gray(A);
I=histeq(A);
subplot(1,2,1),imshow(A);
subplot(1,2,2),imshow(I);
figure,subplot(1,2,1),imhist(A);
subplot(1,2,2),imhist(I);
(2)
2.1
I=imread('lv.jpg');
subplot(2,3,1),
imshow(I),
title('原始图像');
I=rgb2gray(I);
I1=imnoise(I,'gaussian',0,0.005);
subplot(2,3,2),
imshow(I1),
title('添加高斯噪声的图像');
k1=filter2(fspecial('average',3),I1)/255;
k2=filter2(fspecial('average',5),I1)/255;
k3=filter2(fspecial('average',7),I1)/255;
k4=filter2(fspecial('average',9),I1)/255;
subplot(2,3,3),imshow(k1);title('3*3模板平滑滤波');
subplot(2,3,4),imshow(k2);title('5*5模板平滑滤波');
subplot(2,3,5),imshow(k3);title('7*7模板平滑滤波');
subplot(2,3,6),imshow(k4);title('9*9模板平滑滤波');
2.2
I=imread('lv.jpg');I=rgb2gray(I);
J=imnoise(I,'salt&pepper',0.02);subplot(2,3,1),imshow(I);title('原图像');
subplot(2,3,2),imshow(J);title('添加椒盐噪声图像');k1=medfilt2(J);
k2=medfilt2(J,[5,5]);
k3=medfilt2(J,[7,7]);
k4=medfilt2(J,[9,9]);
subplot(2,3,3),imshow(k1);title('3*3模板中值滤波');
subplot(2,3,4),imshow(k2);title('5*5模板中值滤波');
subplot(2,3,5),imshow(k3);title('7*7模板中值滤波');
subplot(2,3,6),imshow(k4);title('9*9模板中值滤波');
(3)
3.1
I=imread('lv.jpg');
figure,subplot(1,2,1),imshow(I);title('原图像');
h=[-1-1-1;-18-1;-1-1-1];
I2=imfilter(I,h);
subplot(1,2,2),imshow(I2);title('锐化图像');
3.2
I1=imread('lv.jpg');
I=imnoise(I1,'salt&pepper');
imshow(I);
六、实验报告内容
(1)
(2)
(3)
七、思考题
1、直方图是什么概念?
它反映了图像的什么信息?
2、直方图均衡化是什么意思?
它的主要用途是什么?
3、均值(中值)滤波的模板大小对处理效果有什么影响?
福建农林大学金山学院信息工程类实验报告
系:
信息与机电工程系专业:
计算机科学与技术年级:
2010级
姓名:
程庆运学号:
100202003实验课程:
数字图像处理
实验室号:
_实验1楼608实验设备号:
实验时间:
2013.6.4
指导教师签字:
成绩:
实验三图像复原
一、实验目的
1.了解图像退化原因与复原技术分类化的数学模型;
2.熟悉图像复原的经典与现代方法;
3.热练掌握图像复原的应用;
4.通过本实验掌握利用MATLAB编程实现数字图像的图像复原。
二、实验原理
图像复原是在研究图像退化原因的基础上,以退化图像为依据,根据一定的先验知识,建立一个退化模型,然后用相反的运算,以恢复原始景物图像。
本实验以约束复原方法对图像复原。
约束复原除了对降质系统的PSF有所了解外,还需要对原始图像和外加噪声的特性有先验知识。
即根据不同领域的要求,有时需要对f和n作一些特殊的规定,使处理得到的图像满足某些条件。
令Q为f的线性算子,要设法寻找一个最优估计的、服从约束条件
的函数最小化。
令Q为f的线性算子,要设法寻找一个最优估计
使下面的目标函数为最小
式中,α为拉格朗日乘子,f的最佳估值
式中,γ=α-1
1.维纳滤波复原
最小二乘法滤波复原的核心是如何选择一个合适的变换矩阵Q,将f和n近似地看成是平稳随机过程。
假设Rf和Rn为f和n的自相关矩阵,就是维纳滤波复原。
Rf=E{ffT}
Rn=E{nnT}
定义QTQ=R-1fRn,代入上式,得
假设M=N,Sf和Sn分别为图像和噪声的功率谱,则
2.平滑度约束最小平方滤波
在图像复原时会产生人为的噪声和边缘,通过拉普拉斯算子增强可以抑制,这就是平滑度约束最小平方滤波。
三、实验步骤
1.打开计算机,安装和启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件;
2.利用MatLab工具箱中的函数编制图像复原的函数;
3.a)调入图像;
b)对图像做维纳滤波复原;
c)对图像做平滑度约束最小平方滤波。
4.记录和整理实验报告。
四、实验仪器
1.计算机;
2.MATLAB程序;
3.移动式存储器(软盘、U盘等)。
4.记录用的笔、纸。
五、实验程序
1.维纳滤波复原MATLAB程序:
f=imread('1.jpg');%读入图像
LEN=30;%对原始图像做模糊操作运动移位为30像素
THETA=45;%运动角度为40度
PSF=fspecial('motion',LEN,THETA);%产生运动模糊的PSF
MF=imfilter(f,PSF,'circular','conv');
wnr=deconvwnr(MF,PSF);%维纳滤波复原
subplot(2,2,1);imshow(f);title('原始图像');
subplot(2,2,2);imshow(MF);title('模糊后的图像');
subplot(2,2,3);imshow(wnr);title('恢复后的图像');
2.平滑度约束最小平方滤波复原MATLAB程序:
I=imread('1.jpg');
PSF=fspecial('gaussian',10,4);%产生高斯模糊的PSF
Blurred=imfilter(I,PSF,'conv');%对图像进行卷积操作
V=.03;%设置数值
BN=imnoise(Blurred,'gaussian',0,V);
NP=V*prod(size(I));%噪声能量
[regLAGRA]=deconvreg(BN,PSF,NP);%真实噪声能量恢复图像
Edged=edgetaper(BN,PSF);%对加噪后的图像进行边缘信息提取
reg2=deconvreg(Edged,PSF,NP/1.2);%利用振铃抑制恢复图像
reg3=deconvreg(Edged,PSF,[],LAGRA);%利用拉格朗日算子恢复图像
figure
subplot(2,2,1);imshow(BN);title('加入高斯噪声的图像');
subplot(2,2,2);imshow(reg);title('恢复后的图像');
subplot(2,2,3);imshow(reg2);title('振铃抑制图像');
subplot(2,2,4);imshow(reg3);title('拉格朗日算子恢复图像');
六、实验结果
1.
2.
七、思考题
传统的复原方法与现代的复原方法的区别?
传统的复原方法
基于平稳图像、线性空间不变的退化系统、图像和噪声统计特性的先验知识已知等条件下讨论的
现代的复原方法
对非平稳图像(如卡尔曼滤波)、非线性方法(如神经网络)、信号与噪声的先验知识未知(如盲图像复原)等前提下开展工作。
福建农林大学金山学院信息工程类实验报告
系:
信息与机电工程系专业:
计算机科学与技术年级:
2010级
姓名:
程庆运学号:
100202003实验课程:
数字图像处理
实验室号:
_实验1楼608实验设备号:
实验时间:
2013.6.9
指导教师签字:
成绩:
实验四图像压缩编码
一、实验目的
1.了解有关数字图像压缩的基本概念
2.理解有损压缩和无损压缩的概念;
3.理解图像压缩的主要原则和目的;
4.了解几种常用的图像压缩编码方式。
5.进一步熟悉DCT的概念和原理;
6.掌握对灰度和彩色图像作离散余弦变换和反变换的方法;
7.掌握利用MATLAB软件进行图像压缩。
二、实验原理
1、图像压缩原理
图像压缩主要目的是为了节省存储空间,增加传输速度。
图像压缩的理想标准是信息丢失最少,压缩比例最大。
不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。
压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。
信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。
高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。
编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。
(1).冗余度压缩方法,也称无损压缩、信息保持编码或嫡编码。
具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。
(2)信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。
也就是说解码图像和原始图像是有差别的,允许有一定的失真。
应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类:
(1)无损压缩编码种类
哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempelzev编码。
(2)有损压缩编码种类
预测编码,DPCM,运动补偿;
频率域方法:
正交变换编码(如DCT),子带编码;
空间域方法:
统计分块编码;
模型方法:
分形编码,模型基编码;
基于重要性:
滤波,子采样,比特分配,向量量化;
(3)混合编码。
有JBIG,H261,JPEG,MPEG等技术标准。
本实验主要利用MATLAB程序进行离散余弦变换(DCT)压缩。
2、离散余弦变换(DCT)图像压缩原理
离散余弦变换DCT在图像压缩中具有广泛的应用,它是JPEG、MPEG等数据压缩标准的重要数学基础。
和相同图像质量的其他常用文件格式(如GIF(可交换的图像文件格式),TIFF(标签图像文件格式),PCX(图形文件格式))相比,JPEG是目前静态图像中压缩比最高的。
JPEG比其他几种压缩比要高得多,而图像质量都差不多(JPEG处理的图像只有真彩图和灰度图)。
正是由于其高压缩比,使得JPEG被广泛地应用于多媒体和网络程序中。
JPEG有几种模式,其中最常用的是基于DCT变换的顺序型模式,又称为基本系统(Baseline)。
用DCT压缩图像的过程为:
(1)首先将输入图像分解为8×8或16×16的块,然后对每个子块进行二维DCT变换。
(2)将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格
式。
2-DCT变换公式如下:
其中:
f(x,y)—输入/输出图像取样值(基准系统的取值为[-128,127]);
C(u,v)—DCT系数(基准系统中C(u,v)的取值范围为[-1023,1023]);
C(0,0)代表DC系数,其余63个为AC系数。
用DCT解压的过程为:
(1)对每个8×8或16×16块进行二维DCT反变换。
(2)将反变换的矩阵的块合成一个单一的图像。
余弦变换具有把高度相关数据能量集中的趋势,DCT变换后矩阵的能量集中在矩阵的左上角,右下的大多数的DCT系数值非常接近于0。
对于通常的图像来说,舍弃这些接近于0的DCT的系数值,并不会对重构图像的画面质量带来显著的下降。
所以,利用DCT变换进行图像压缩可以节约大量的存储空间。
压缩应该在最合理地近似原图像的情况下使用最少的系数。
使用系数的多少也决定了压缩比的大小。
在压缩过程的第2步中,可以合理地舍弃一些系数,从而得到压缩的目的。
在压缩过程的第2步,还可以采用RLE和Huffman编码来进一步压缩。
三、实验步骤
1.打开计算机,启动MATLAB程序;
2.调入实验数字图像,并进行数据的DCT编码压缩处理;
3.对图像分别给出保留1个、2个、3个、….、20个DCT变换系数的解压缩结果,这可调整矩阵的mask中1的个数实现,你认为保留几个系数时,图像的恢复效果可以接受,通过观察,给出结论。
4.记录和整理实验报告
四、实验仪器
1计算机;
2MATLAB、Photoshop等程序;
3移动式存储器(软盘、U盘等)。
4记录用的笔、纸。
五、实验程序
离散余弦变换
代码I=imread('1.jpg');%读入原图像;
I=im2double(I);%将原图像转为双精度数据类型;
T=dctmtx(8);%产生二维DCT变换矩阵
B=blkproc(I,[88],'P1*x*P2',T,T');%计算二维DCT,矩阵T及其转置T’是DCT函数P1*x*P2的参数
Mask=[11110000
11100000
11000000
10000000
00000000
00000000
00000000
00000000];%二值掩膜,用来压缩DCT系数,只留下DCT系数中左上角的10个
B2=blkproc(B,[88],'P1.*x',Mask);%只保留DCT变换的10个系数
I2=blkproc(B2,[8,8],'P1*x*P2',T',T);%逆DCT,重构图像
Subplot(1,2,1);Imshow(I);title('原图像');%显示原图像
Subplot(1,2,2);Imshow(I2);title('压缩图像');%显示压缩后的图像
2.
RGB=imread('1.jpg');%读取图像
I=rgb2gray(RGB);%将其转为灰度
J=dct2(I);%进行二维离散余弦变换
imshow(log(abs(J)),[]),%显示出变换后的图像,此时能量集中在左上角
colormap(jet(64)),colorbar%建立颜色模板
J(abs(J)<10)=0;%将DCT变换结果中绝对值小于10的系数舍弃
K=idct2(J);%idct2重构图像
figure,imshow(I,[0255]);
figure,imshow(K,[0255])
六、实验报告内容
1叙述实验过程;
2提交实验的原始图像和结果图像。
离散余弦变换
七、思考题
1.简述离散余弦变换(DCT)编码的原理。
2.有损压缩和无损压缩的区别和联系。
3.图像中哪些信息是主要的,哪些信息是次要的?
福建农林大学金山学院信息工程类实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 实验报告doc 实验 报告 doc