数字图像处理第二次实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称数字图像处理
实验项目MATLAB图像的空间变换及
相邻区域和块的处理
指导教师
学院 _ _
专业电子信息工程
班级/学号
学生姓名
实验日期______ ___ 成绩___________________________
实验2 MATLAB图像的空间变换及相邻区域和块
的处理
一、实验目的
1.掌握MATLAB的基本应用方法。
2.掌握MATLAB空间变换--图像插值、缩放、旋转、剪切。
3.掌握MATLAB相邻区和块的处理-滑动窗和图像块操作。
二、实验的硬件、软件平台
硬件:计算机
软件:操作系统:Windows XP
应用软件:MA TLAB 7.0.1
三、实验内容及步骤(参考MATLAB 图像处理工具箱的
帮助完成相应功能)
1. 掌握MA TLAB功能实现的两种方法:
◆在Command Window中,以命令行单句调用某一函数,例如两幅图
像相加,观察Workspace中图像矩阵属性、值。
◆采用M语言编写由一条或多条语句实现某一或多个功能,例如:图
像算术操作和图像类型转换的MATLAT 文件,文件的扩展名m。将
文件保存在c:\ MATLAB701\work目录下,从MA TLAB的Command
Window 中键入文件名。也可将M文件中的所有语句拷贝到
Command Window下,回车执行。观察Workspace中图像矩阵属性、
值。
2.了解图像插值、Anti-aliasing的方法和应用。
MATLAB帮助位置:Image Processing Toolbox- Spatial Transformations-
Interpolation
3.了解图像相邻区域和块的处理-滑动窗和图像块操作。
MATLAB 帮助位置:Image Processing Toolbox –Neighborhood and Block
Operation
4.放大和缩小一幅图像(imresize)。MATLAB帮助位置:Image Processing
Toolbox-Spatial Transformations-Image Resizing
5.旋转一幅图像(imrotate)。MATLAB 帮助位置:Image Processing Toolbox-
Spatial Transformations-Image Rotation
6.滑动邻域操作(nlfilter)。MATLAB 帮助位置:Image Processing Toolbox
–Neighborhood and Block Operation–Sliding Neighborhood Operations -
Linear and Nonlinear Filtering
7.图像块操作(blkproc) 。
●MATLAB 帮助位置1:Image Processing Toolbox –Neighborhood and
Block Operation–Distinct Block Operations
●MATLAB 帮助位置2:Image Processing Toolbox – Transforms
–Discrete Cosine Transform - The DCT and Image Compression (使
用8-by-8 blocks DCT 变换对图像进行压缩与解压缩,利用函数
dctmtx, blkproc)
四、实验代码
(一)放大和缩小一幅图像(imresize)。
A=imread('C:\Documents and Settings\501\桌面\数字图像\photo1.jpg');
imshow(A);
size1= imresize(A,2);
size2= imresize(A,0.5);
figure
imshow(size1);
figure
imshow(size2);
imwrite(size1,'C:\Documents and Settings\501\桌面\数字图像\size1.jpg');
imwrite(size2,'C:\Documents and Settings\501\桌面\数字图像\size2.jpg');
原图
放大2倍后
缩小一半后
(二)旋转一幅图像(imrotate)。
A=imread('C:\Documents and Settings\501\桌面\数字图像\photo2.jpg');
figure
imshow(A);
rotate=imrotate(A,-30,'bilinear','loose');
figure
imshow(rotate);
imwrite(rotate,'C:\Documents and Settings\501\桌面\数字图像\rotate.jpg');
原图
顺时针旋转30度后
(三)滑动邻域操作(nlfilter)。
A=imread('C:\Documents and Settings\501\桌面\数字图像\photo3.jpg');
A=rgb2gray(A);
figure
imshow(A);
fun=inline('mean(mean(x))');
nA=nlfilter(A,[3 3],fun);
figure
imshow(nA,[]);
imwrite(nA,'C:\Documents and Settings\501\桌面\数字图像\nA.jpg');
原图
滑动邻域操作处理后