数字图像基本处理实验文档格式.docx
- 文档编号:20005600
- 上传时间:2023-01-14
- 格式:DOCX
- 页数:11
- 大小:141.47KB
数字图像基本处理实验文档格式.docx
《数字图像基本处理实验文档格式.docx》由会员分享,可在线阅读,更多相关《数字图像基本处理实验文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
戚芸锦
沈晓波
电气信息工程学院电子信息工程
1、实验题目
2、实验对象
自己的图像和moon
3、实验任务
(1)实现对图像的点运算(加减乘除)具体参数自行规定。
(2)实现对图像的逻辑运算(与或非)。
(3)实现对单幅图像的空间运算(放大、缩小、旋转、平移、X镜像、Y镜像),具体参数自行规定。
以上3个任务要求用一个M文件实现,输出到同一个图片中,按顺序编号,并在每个子图片下方命名,命名规则样例“
(2)放大后图像”
(4)简单应用:
将自己的头像上添加:
“姓名第一次作品”,字体规格不限,输出新的图像。
4、实验原理
4.1理论基础
(1)点运算
点运算实际上就是对图像的每个像素点的灰度值按一定的映射关系运算,得到新图像的过程。
运用点运算可以改变图像数据所占的灰度值范围。
对于一幅输入图像,经过点运算会产生一幅输出图像,输出图像中每个像素点的灰度值仅有相应输入点的灰度值确定。
点运算从数学上可以分为线性点运算和非线性点运算两类。
线性点运算是指输入图像的灰度级与目标图像的灰度级呈线性关系。
线性点运算的灰度变换函数形式可以采用线性方程描述,即s=ar+b其中r为相应输出点的灰度值,s为相应输出点的灰度值。
常见的非线性点运算为对数变换和幂次变换。
对数变换的一般表达式为:
s=clog(1+r),c为常数,并假定r>
=0.
(2)代数运算与逻辑运算
代数运算是指对两幅图或两幅图已上输入图像进行点对点的加、减、乘、除运算而得到的目标图像的运算。
加法运算的作用是去除“叠加性”随机噪音和生成图像。
减法运算的作用是差影法和混合图像的分离。
乘法和除法运算可以用来改变图像的灰度级,实现灰度级变换。
除法运算还经常用于消除图像数字化设备随空间所产生的影响。
常见的逻辑运算有与或非等,其主要针对二值图像,在进行图像理解与分析领域比较有用。
运用这种方法可以为图像提供模板,与其他运算犯法结合起来可以获得某种特殊的效果。
(3)几何运算
从变换性质来分,几何变换可以分为图像的位置变换(平移、镜像、旋转),形状变换(放大、缩小)及图像的复合变换等。
图像的镜像是指原图像相对于木一照面旋转180度的图像。
镜像变换又常称为对称变换,它可以分为水平对称、垂直对称等多种变换。
对称变换后,图像宽度和高不变。
图像的旋转变换是指以图像的中心为原点,将图像上所有像素都旋转同一个角度的变换。
图像的位置发生了变化。
和平移一样,在图像的旋转变换中既可以把转出显示区域的图像截去,也可以扩大显示区域的图像范围以显示图像的全部。
数字图像的比例缩放是指将给定的图像在X方向和Y方向按相同比例a缩放,从而获得一副新的图像,又成为全比例缩放。
如果X方向和Y方向缩放的比例不同,则图像的比例缩放会改变原始图像像素间的相对位置,产生几何畸变。
若比例所产生的图像中没有相对应的像素点时,就需要进行灰度值的插值运算,一般有以下两种插值处理方法。
①直接复值为和它最相近的像素灰度值,这种方法称为最近邻插值法,该方法简单、计算量小,但很可能会产生马赛克现象。
②通过其他数学插值法来计算相应的像素点的灰度值,这类方法处理效果好,但运算量会有所增加。
4.2实际方案
(1)查资料
上网或翻看所学的书本查相关资料,了解怎样编写程序,应该用到哪些函数。
(2)编写程序
在MATLAB软件下编写相关程序,运行观察所输出图像的变化。
5、实验过程
5.1存图像
将所需要的图像保存在新建文件夹(我的图像)中,图像的格式为JPG。
5.2编写M文件
打开MATLAB,把路径改成电子信息工程11(1-25)戚芸锦文件夹下我的图像。
新建M文件,在M文件下编写程序
5.3两幅灰度图像相加
在M文件中编写程序如下
clearall
I=imread('
我.jpg'
);
subplot(4,4,1);
imshow(I);
xlabel('
(1)原始图像'
I1=rgb2gray(I);
H=imread('
zi.jpg'
H=rgb2gray(H);
U=imadd(I1,H);
subplot(4,4,2);
imshow(U);
(2)图像合成'
5.4图像的点运算
MATLAB中编写程序如下
J=double(I1);
I=J*0.45+55;
azl2=uint8(I);
subplot(4,4,3);
imshow(I1);
(3)点运算'
5.5对图像加常数
Y=imadd(I1,54);
subplot(4,4,4);
imshow(Y);
(4)添加常数'
5.6对图像减常数
Y1=imsubtract(I1,50);
subplot(4,4,5);
imshow(Y1)
(5)减去常数'
5.7对图像乘常数
Y2=immultiply(I1,0.6);
subplot(4,4,6);
imshow(Y2);
(6)乘常数'
Y3=imdivide(I1,2);
5.8对图像除常数
subplot(4,4,7);
imshow(Y3);
(7)除以一个常数'
5.9把图像放大
Y4=imresize(I1,2);
subplot(4,4,8);
imshow(Y4);
(8)放大'
)
5.10把图像缩小
Y5=imresize(I1,0.5);
subplot(4,4,9);
imshow(Y5);
(9)缩小'
5.11把图像旋转120度
Y7=imrotate(I1,120,'
nearest'
subplot(4,4,10);
imshow(Y7);
(10)旋转120度'
5.12把图像平移
R=translate(strel
(1),[040]);
R1=imdilate(azl2,R);
subplot(4,4,11);
imshow(R1);
(11)平移'
5.13把图像Y镜像
K1=double(I1);
H=size(K1);
K2(1:
H
(1),1:
H
(2))=K1(H
(1):
-1:
1,1:
H
(2));
subplot(4,4,12);
imshow(uint8(K2));
(12)Y镜像'
5.14把图像X镜像
K3(1:
H
(2))=K1(1:
H
(1),H
(2):
1);
subplot(4,4,13);
imshow(uint8(K3));
(13)X镜像'
5.15把原图像与MOON图像相与
moon=imread('
moon.jpg'
MOON=rgb2gray(moon);
Q=and(MOON,I1);
subplot(4,4,14);
imshow(Q);
(14)与运算'
5.16把原图像与MOON图像相或
O=or(MOON,I1);
subplot(4,4,15);
imshow(O);
(15)或运算'
5.17输出原图像的非
NO=not(I1);
subplot(4,4,16);
imshow(NO);
(16)非运算'
6、实验结果
输出的图像如下所示:
图一:
输出结果
7、实验分析及结论
7.1实验分析
(1)在编写两图像相加时,应注意两图的格式、像素大小是否相同,相同才能进行相加。
两图像相与或非时,如果两图是三维图像必须把它转为二值图像才能输出结果。
(2)在编写M文件时,读一张图像时先运行一下看是否能输出,工作栏中是否出现矩阵,是几维矩阵。
这样才能对比这一步骤是否有误。
不能等程序全部编完才运行,这样出错的时候,会不知道哪出错,改起来会很麻烦。
7.2实验结论
在编写M文件时用到的函数有
imread():
把文件夹下的图像读入
rgb2gray():
把三维图像转为二值图像
imshow():
输出图像
imadd():
两二值图像相加
imsubtract():
二值图像的像素点减一个常数
immultiply():
二值图像的像素点乘一个常数
imdivide():
二值图像的像素点除一个常数
imresize():
图像缩放
imrotate():
图像旋转
imdilate():
图像平移
参考文献
[1]杨杰.数字图像处理及MATLAB实现.北京:
电子工业出版社,2010.
[2]阮秋琦.数字图象处理基础.北京:
中国铁道出版社,1988.
[3]繆绍纲.数字图象处理:
活用MATLAB.西南交通大学出版社,2001.
[4]罗军辉,冯平.MATLAB7.0在图像处理中的运用.北京:
机械工业出版社,2007.
[5]吴国平.数字图象处理原理.武汉:
中国地质大学出版社,2007.
(本资料素材和资料部分来自网络,仅供参考。
请预览后才下载,期待您的好评与关注!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 基本 处理 实验