图1.1.1 选择原始**。
matlab为用户提供了专门的函数以从图像格式的文件中读写图像数据。这次采用的是imread函数来实现图像文件的读取操作,采用的格式如下:
a=imread(‘
该语句用于读取字符串“filename”对应的灰度图像或彩色图像,“fmt”指定了文件的格式。
采用imfinfo函数查询图像文件的信息。其语句格式如下:
info=imfinfo(‘
该语句可以在命令窗口会显示出文件的基本信息。
采用imshow函数进行图像的显示,采用的格式如下:
a=imread(‘ imshow(a);
当这种显示方式要求被显示的图像要么在当前目录下或matlab的目录下。
采用rgb2gray函数进行真彩色图像与灰阶强度图像的转变其格式调用如下:
a=rgb2gry(‘得到的图像可以进行统计与处理,能完成要求。
图像读入与显示和变化的源**如下:
第一步,获取图像,并显示各种基本信息。
clear;
close all;
rgb=imread('e:/'rgb:原始图像,真彩色;
info=imfinfo('e:/'
figure
imshow(rgb)
title('原始图像')程序运行结果如下图1.1.2所示:
图1.1.2 读取后显示**。
命令窗口中,显示如下:
info =
filename: 'e:/'
filemoddate: '08-一月-2011 22:00:58'
filesize: 47709
format: 'jpg'
formatversion: '
width: 500
height: 371
bitdepth: 24
colortype: 'truecolor'
formatsignature: '
numberofsamples: 3
codingmethod: 'huffman'
codingprocess: 'sequential'
comment: {
orientation: 1
software: 'acd systems digital imaging '
datetime: '2010:12:28 17:58:11 '
ycbcrpositioning: 'centered'
digitalcamera: [1x1 struct]
1.2 转换图像为灰阶图像。
在后期的处理中,有部分程序需要用到灰阶**,因此提前将**进行转换,得到灰阶**。采用rgb2gray函数进行真彩色图像与灰阶强度图像的转变其格式调用如下:
a=rgb2gry(‘
得到的图像可以进行统计与处理。程序源**如下:
i=rgb2gray(rgb); i:灰阶图像。
figure
imshow(i)
title('灰阶图像')
程序运行结果如下图1.2.1所示:
图2.2.1灰阶**。
对比度和亮度调节采用的是imadjust函数,其调用格式如下:
rgb2 = imadjust(rgb1,..
源程序如下:
rgb1=imadjust(rgb,[.2 .3 0;.6 .7 1],[
figure
imshow(rgb1)
title('彩图对比度亮度调整')
运行结果如图2.1.1所示:
图2.1.1 对比度和亮度调节。
采用imresize函数,其调用格式如下:
b = imresize(a,[mrows ncols], method )
对于参数的选择,mrows ncols 是选择放大或缩小的倍数,method是选择才用最邻近插入法还是双三次插入法,参数分别为:nearest 、bilinear
源程序如下所示:
x=imresize(rgb,0.5,'nearest');
figure
imshow(x)
title('最邻近插入法')
y=imresize(rgb,2,'bilinear');
figure
imshow(y)
title('双三次插入法')
程序运行结果如图.2.2所示:
2.2.1 最邻近插入法缩小一半。
2.2.2最邻近插入法,放大一倍。
函数使用的是imrotate函数,其调用格式如下所示:
b = imrotate(a,angle,method,bbox)
期中参数method是选择才用最邻近插入法还是双三次插入法,参数分别为:nearest 、bilinear
旋转后的图像重新保存为一个图像文件,使用imwrite函数,其调用格式如下:imwrite(bw,''
源程序如下:
b=imrotate(rgb,90,'nearest','crop');
figure
imshow(b)
title('图像角度旋转')
imwrite(b,’
程序的运行结果下图2.3.1所示:
图2.3.1 进行图像的任意角度旋转。
由于图像的直方图统计只能处理灰阶图像,因此,要使用之前转换好了的灰阶图像进行处理,使用imhist函数画直方图,使用histeq函数进行直方图的均衡,再显示各个图像。函数调用形式如下:
imhist(i)
h=histeq(i);
imhist(h)
figure
imhist(i)
title('直方图')
figure
h=histeq(i);
imshow(h)
title('直方图均衡处理**')
figure
imhist(h)
title('直方图均衡')
运行结果如下图.4.3所示:
图2.4.1 原始图像直方图。
图2.4.2 经过直方图均衡后的图像。
图2.4.3 均衡后的直方图。
函数使用imnoise函数进行**的噪声加入,其调用格式如下:
j = imnoise(i,type,parameters)
期中,type是噪声的类型,由高斯噪声,椒盐噪声,乘性噪声。类型名分别是:gaussian、salt & pepper、speckle。
第六步加入噪声。
e=imnoise(rgb,'gaussian',0,0.05);
figure
imshow(e)
title('加高斯噪声')
f=imnoise(rgb,'salt & pepper',0.05);
figure
imshow(f)
title('加椒盐噪声')
g=imnoise(rgb,'speckle',0.05);
figure
imshow(g)
title('加乘性噪声')
程序结果如下图2.5.1 2.5.2 2.5.3 所示:
图2.5.1 加入高斯。
图2.5.2 加入椒盐噪声后的**。
图2.5.3 加入乘性噪声后**。
如图3.1.1所示,在对比度和亮度调节设置后,**显示如下:
图3.1.1 原始图像与对比度变化后比较。
在函数imadjust中,调节“rgb1=imadjust(rgb,[.2 .3 0;.
6 .7 1],[中的中的值可以改变对比度。当使范围变化时,可以得到如下图像。
使用双线性插值法和最邻近插值法,分别对图像进行放大缩小,对比结果如下图4.2.1所示:
图3.2.1 图像的放大缩小和旋转。
对原始**的直方图和直方图均衡后的结果进行比较,如下图3.3.1所示:
图3.3.1原始图像直方图和直方图均衡后结果。
观察原始**与直方图均衡后的结果如下图4.3.2所示:
图3.3.2 直方图均衡**和原始**比较。
为各种**加入噪声,和原始**进行比较如下图3.4.1所示:
图3.4.1 加入各种噪声和原始**比较。
这次课程设计让自己更深的了解了matlab的程序设计及图像处理的内容,在这次设计中,学习到了很多的东西和知识,并且积累了大量的宝贵经验,归结如下:
1.更全面的认识了matlab这个软件,并且能够熟练的使用matlab的基本功能,掌握了matlab的程序设计的基本方式方法和步骤。
2.学习了图像的处理的各项基本函数的使用,特别对matlab的帮助功能有了很深刻的了解,能够独立的完成函数的编写及功能的实现,再也不是什么函数都需要使用网络来询问,学习了图像噪声的使用,让我对专业知识有了更深的了解,对我以后的学习很有方向性。
3.在程序设计中,特别是对各个函数的使用中,看英文资料成为了必须的,这让我大量的接触了专业英语,是一个很意外的收获。让我能够接触更广阔的知识,使我以后的学习更加的有效开阔。
当然,网络上找资源也是这次实验课设的宝贵收获,在这次课程设计中,我大量运用了网络资源,积极的注册技术论坛,学到了很多知识。使我十分的受益。
不过,通过这次课程设计,也让我认识到了很多的不足,让我知道了自己知识的浅薄和要学习的东西还很多很多,还需要我继续的努力。
MATLAB课程设计
1 求被控对象传递函数g s 的matlab描述。num 789 6312 11835 den 1 14 56 64 0 0 gs tf num,den transfer function 789 s 2 6312 s 11835 s 5 14 s 4 56 s 3 64 s 2 2 求被控对象脉冲...
MATLAB课程设计
课程设计。题目 matlab计算器。姓名 班级 学院 专业 完成时间。1总体设计。该计算器程序主要是matlab来制作,界面主要由四个静态文本框 21个运算按钮和两个动态文本框组成。实现的运算功能有四则运算 加 减 乘 除。而且添加了括号使人们使用时更加简单。这些计算功能主要调用了matlab的自定...
MATLAB课程设计
matlab课程设计。如图所示,为测量系统的示意图,它由两个能相互转动的连杆,角度编码器和滚轮等组成。o1为固定点,o2点为转动点,o3点为滚轮的中心,连杆的有效长度分别为l1和l2。任一位置时,连杆1相对于某基准位置的角度为 1,两连杆的相对角度为 2。其中对于 1,取垂直方向为基准线,在基准线左...