河北工业大学数字图像处理之matlab实验报告.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《河北工业大学数字图像处理之matlab实验报告.doc》由会员分享,可在线阅读,更多相关《河北工业大学数字图像处理之matlab实验报告.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验一一、 实验要求1、熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱,为编写图像处理程序奠定基础。2、掌握二进制(黑白)图像、灰度图像、彩色图像读、写和显示的基本方法,分别选择以上几种类型的图像,观察其图像类型参数。3、说明以下程序的显示结果为何是一幅几乎全黑的图像。clear; close all;myi=zeros(20,20);myi(2:2:18,2:2:18)=1;myi=uint8(myi);figure, imshow(myi,notruesize);编写程序将图一中orangutan_1.tif图片拉伸一倍后形成orangutan_2.tif所示的图片。4、应用M
2、ATLAB(或C)语言编写一幅灰度图像直方图统计程序,并选择一幅图像显示其直方图,将结果与MATLAB图像处理工具箱中提供的灰度直方图函数imhist的处理结果进行比较。5、利用以上编写的程序,估算图一所示图像iris.tif中的瞳孔半径(以像素为单位)。 orangutan_1.tif orangutan_2.tif iris.tif图一二、 实验内容1,通过安装matlab软件,熟悉MATLAB软件的开发环境、基本操作以及图像处理工具箱2,图像的读、写、显示和图像类型参数查看通过 I= imread(FILENAME),读取图像,注意FILENAME=图像文件所在的位置+文件名;1) 通过
3、imwrite(a,FILENAME,fmt),可以把a图像写进FILENAME图像,即是替换掉FILENAME,但是文件图像格式不替换。2) 通过imshow(I),可以把I图像显示出来。3) 例如:在matlab软件中,运行如下命令: I = imread(E:orangutan_2.tif); figure,imshow(I) I1 = imread(E:iris.tif); figure,imshow(I1) imwrite(I,E:iris.tif,tif) I2 = imread(E:iris.tif); figure,imshow(I2) 原图: orangutan_2.tif
4、iris.tif运行结果:可以看到orangutan_2.tif已成功写入 iris.tif中。4) 在matlab的可以查看各图像类型的参数先在workspace中导入一幅名为xx.jpg的真彩图,然后在命令窗口输入如下命令: I8= imread(E:iris.tif);I64=double (I8)/255;imshow(I64);将一幅名为iris.tif的灰度图像转换成二值图像,然后观察workspace中显示的二值图像、灰度图像、和真彩图像的参数如下图所示3,全黑图像的解释和拉伸图像程序1) 、解释 由程序myi=uint8(myi);可知此程序编写的图像在计算机中采用的是8位存储
5、,即灰度值为0255,其中0为黑,255为白,中间值为由黑向白过度的值。而程序myi=zeros(20,20);构造了一个20行20列的0值矩阵,程序myi(2:2:18,2:2:18)=1;将1赋值给矩阵的2,4,6,8,10,12,14,16,18行和2,4,6,8,10,12,14,16,18列,即这些位置的值为1。因为0,1都在人眼识别的黑色范围内,固图像是全黑的,如果将myi(2:2:18,2:2:18)=1;改为myi(2:2:18,2:2:18)=255;就会发现图像是黑白相间的条格。2) 、纵向二倍拉伸图像代码T1 = maketform(affine,1 0 0; 0 2 0
6、; 0 0 1);I = imread(E:orangutan_1.tif);I1 = imtransform(I,T1);imshow(I),figure,imshow(I1)4,灰度图像直方图统计程序1)编写的程序img=imread(E:iris.tif);imshow(img);M,N=size(img);img=double(img);h=zeros(256,256);for i=1:M, for j=1:N, f=img(i,j); h(f+1)=h(f+1)+1; endendfigure;bar(h);grid;2)直接调用MATLAB图像处理工具箱中提供的灰度直方图函数imh
7、istI = imread(E:iris.tif);imhist(I)3) 显示分别如下图1和图2图1图25,估算图像iris.tif中的瞳孔半径(以像素为单位)方法:从图1中带网格线的图中估算像素具体方法:100200之间的单位个数为8,则瞳孔面积大概为80000像素,利用求半径公式S=3.14R2得到半径R=(S/3.14)=(80000/3.14)160像素实验二应用MATLAB工具箱自带的图像函数或自己编程进行图像处理,包括显示图像、格式转换、图像傅立叶变换、图像灰度调整、对比度增强、直方图均衡、邻域平均法、中值滤波法、图像代数运算、边缘增强、伪彩色增强、假彩色合成、二值化、边缘检测等
8、;分析处理结果,掌握方法和原理,巩固所学内容。部分示例以及需要完成的具体实验题目:1)二维傅立叶变换示例:选择一幅图像,对其进行离散傅立叶变换并显示离散傅立叶谱。% 根据以下生成的图像矩阵数据进行图像的傅立叶变换并显示其频谱clear;close all;f=zeros(30,30);f(5:24,13:17)=1;figure,imshow(f,notruesize);F=fft2(f);% 可视化二维傅立叶变换结果的常用方法是使用对数,以便更详细地观察在0附近区域的细节figure,imshow(log(abs(F),-1 5,notruesize);colorbar;colormap(j
9、et);pause% 以上可视化f的DFT振幅谱存在以下两个问题:% 一、傅立叶变换采样比较粗糙% 原因:快速傅立叶变换算法只能处理大小为2的幂次的矩阵,而本例中矩阵维数不是2的幂次% 解决办法:在计算DFT时可以通过对f进行零填充来获得较好的傅立叶变换采样% 二、零频率系数显示在图形的左上角而不是传统的中心位置% 原因:计算机系统在执行傅立叶变换算法时是以图像的左上角为坐标原点的% 解决办法:用函数fftshift通过将图像FF的四个象限进行交换,使零频率系数位于图形的中心FF=fft2(f,256,256); % 对f进行零填充,得到一个256X256矩阵,然后再计算离散傅立叶变换figu
10、re,imshow(log(abs(FF),-1 5,notruesize);colorbar;colormap(jet);pauseFFF=fftshift(FF); % 使用函数fftshift对第二个问题进行修正解决figure,imshow(log(abs(FFF),-1 5,notruesize);colorbar;colormap(jet);return代码:% 根据以下生成的图像矩阵数据进行图像的傅立叶变换并显示其频谱clear;close all;f=zeros(30,30);f(5:24,13:17)=1;figure,imshow(f,notruesize);F=fft2(
11、f);% 可视化二维傅立叶变换结果的常用方法是使用对数,以便更详细地观察在0附近区域的细节figure,imshow(log(abs(F),-1 5,notruesize);colorbar;colormap(jet);pauseFF=fft2(f,256,256); % 对f进行零填充,得到一个256X256矩阵,然后再计算离散傅立叶变换figure,imshow(log(abs(FF),-1 5,notruesize);colorbar;colormap(jet);pauseFFF=fftshift(FF); % 使用函数fftshift对第二个问题进行修正解决figure,imshow(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 河北 工业大学 数字图像 处理 matlab 实验 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内