数字图像处理第二次实验报告.docx

上传人:b****3 文档编号:12874625 上传时间:2023-04-22 格式:DOCX 页数:11 大小:377KB
下载 相关 举报
数字图像处理第二次实验报告.docx_第1页
第1页 / 共11页
数字图像处理第二次实验报告.docx_第2页
第2页 / 共11页
数字图像处理第二次实验报告.docx_第3页
第3页 / 共11页
数字图像处理第二次实验报告.docx_第4页
第4页 / 共11页
数字图像处理第二次实验报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

数字图像处理第二次实验报告.docx

《数字图像处理第二次实验报告.docx》由会员分享,可在线阅读,更多相关《数字图像处理第二次实验报告.docx(11页珍藏版)》请在冰豆网上搜索。

数字图像处理第二次实验报告.docx

数字图像处理第二次实验报告

 

实验报告

 

课程名称数字图像处理

实验项目MATLAB图像的空间变换及

相邻区域和块的处理

指导教师

 

学院__

专业电子信息工程

班级/学号

学生姓名

实验日期_________

成绩___________________________

实验2MATLAB图像的空间变换及相邻区域和块的处理

一、实验目的

1.掌握MATLAB的基本应用方法。

2.掌握MATLAB空间变换--图像插值、缩放、旋转、剪切。

3.掌握MATLAB相邻区和块的处理-滑动窗和图像块操作。

二、实验的硬件、软件平台

硬件:

计算机

软件:

操作系统:

WindowsXP

应用软件:

MATLAB7.0.1

三、实验内容及步骤(参考MATLAB图像处理工具箱的帮助完成相应功能)

1.掌握MATLAB功能实现的两种方法:

◆在CommandWindow中,以命令行单句调用某一函数,例如两幅图像相加,观察Workspace中图像矩阵属性、值。

◆采用M语言编写由一条或多条语句实现某一或多个功能,例如:

图像算术操作和图像类型转换的MATLAT文件,文件的扩展名m。

将文件保存在c:

\MATLAB701\work目录下,从MATLAB的CommandWindow中键入文件名。

也可将M文件中的所有语句拷贝到CommandWindow下,回车执行。

观察Workspace中图像矩阵属性、值。

2.了解图像插值、Anti-aliasing的方法和应用。

MATLAB帮助位置:

ImageProcessingToolbox-SpatialTransformations-Interpolation

3.了解图像相邻区域和块的处理-滑动窗和图像块操作。

MATLAB帮助位置:

ImageProcessingToolbox–NeighborhoodandBlockOperation

4.放大和缩小一幅图像(imresize)。

MATLAB帮助位置:

ImageProcessingToolbox-SpatialTransformations-ImageResizing

5.旋转一幅图像(imrotate)。

MATLAB帮助位置:

ImageProcessingToolbox-SpatialTransformations-ImageRotation

6.滑动邻域操作(nlfilter)。

MATLAB帮助位置:

ImageProcessingToolbox–NeighborhoodandBlockOperation–SlidingNeighborhoodOperations-LinearandNonlinearFiltering

7.图像块操作(blkproc)。

●MATLAB帮助位置1:

ImageProcessingToolbox–NeighborhoodandBlockOperation–DistinctBlockOperations

●MATLAB帮助位置2:

ImageProcessingToolbox–Transforms–DiscreteCosineTransform-TheDCTandImageCompression(使用8-by-8blocksDCT变换对图像进行压缩与解压缩,利用函数dctmtx,blkproc)

四、实验代码

(一)放大和缩小一幅图像(imresize)。

A=imread('C:

\DocumentsandSettings\501\桌面\数字图像\photo1.jpg');

imshow(A);

size1=imresize(A,2);

size2=imresize(A,0.5);

figure

imshow(size1);

figure

imshow(size2);

imwrite(size1,'C:

\DocumentsandSettings\501\桌面\数字图像\size1.jpg');

imwrite(size2,'C:

\DocumentsandSettings\501\桌面\数字图像\size2.jpg');

原图

放大2倍后

缩小一半后

 

(二)旋转一幅图像(imrotate)。

A=imread('C:

\DocumentsandSettings\501\桌面\数字图像\photo2.jpg');

figure

imshow(A);

rotate=imrotate(A,-30,'bilinear','loose');

figure

imshow(rotate);

imwrite(rotate,'C:

\DocumentsandSettings\501\桌面\数字图像\rotate.jpg');

原图

顺时针旋转30度后

(三)滑动邻域操作(nlfilter)。

A=imread('C:

\DocumentsandSettings\501\桌面\数字图像\photo3.jpg');

A=rgb2gray(A);

figure

imshow(A);

fun=inline('mean(mean(x))');

nA=nlfilter(A,[33],fun);

figure

imshow(nA,[]);

imwrite(nA,'C:

\DocumentsandSettings\501\桌面\数字图像\nA.jpg');

原图

滑动邻域操作处理后

(四)图像块操作(blkproc)。

1、块操作

I=imread('liftingbody.png');

fun=@(x)std2(x)*ones(size(x));

I2=blkproc(I,[3232],fun);

figure

imshow(I);

figure

imshow(I2,'DisplayRange',[]);

imwrite(I2,'C:

\DocumentsandSettings\501\桌面\数字图像\I2.jpg');

原图

块操作后

2、DCT变换

I=imread('forest.tif');

I=im2double(I);

T=dctmtx(8);

B=blkproc(I,[88],'P1*x*P2',T,T');

mask=[11110000

11100050

11000200

10020000

03005000

00001000

09060460

00000000];

B2=blkproc(B,[88],'P1.*x',mask);

I2=blkproc(B2,[88],'P1*x*P2',T',T);

Figure;imshow(I);

figure;imshow(I2);

原图

DCT变换后

五、实验体会

这次实验,我学到了很多图像处理的方法,包括图像放大与缩小、图像旋转、图像滑动邻域操作和图像块操作。

实验的难点是对这些图像处理工具函数的理解与应用。

Imresize是用来对图像进行缩放、imrotate能使图像旋转一定角度、nlfilter是对图像进行滑动邻域操作、blkproc是实现图像块操作、dctmtx用来计算离散余弦变换矩阵,这些函数的功能明确之后,重要的就在于它们的调用方法。

通过MATLAB的帮助功能,我对这些函数进行了逐个的编程体验,领会了其中的道理。

实验过程中有不少的错误,我也上网进行了搜索和借鉴,最后顺利完成了实验。

总之,这次实验让我对图像处理有了更深入的认识和理解,使我有了一定的提高,我会继续努力。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1