数字图像处理实验2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

课程名称数字图像处理基础

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

实验仪器 PC

系别____信息与通信工程学院__

专业____ _电子信息工程_____

班级/学号_ _

学生姓名________ ______ __ _

实验日期______2016.5.8______ __

成绩_______________________

指导教师____ _ ____ __

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

一、实验目的

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

2.熟悉MATLAB的4个内置函数:clc, clear, close ,cputime

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

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

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

1、硬件:计算机;

2、软件:操作系统——Win7;

应用软件——MATLAB R2010b。

三、实验编程实现的MATLAB图像处理代码及其功能注释

1、编程实现放大和缩小一幅图像(imresize)

I = imread('text.png');

J = imresize(I, 0.5);

K=imresize(I,1.5);

figure, imshow(I),

figure, imshow(J),

figure, imshow(K)

2、编程实现旋转一幅图像(imrotate)

I = imread('pears.png');

I = mat2gray(I);

J = imrotate(I,-10,'bilinear','crop');

figure, imshow(I), figure, imshow(J)

3、编程实现滑动邻域操作(nlfilter)

A = imread('westconcordorthophoto.png');

fun = @(x) median(x(:));

B = nlfilter(A,[3 3],fun);

imshow(A), figure, imshow(B)

4、编程实现图像块操作(blockproc)

fun = @(block_struct) std2(block_struct.data) *

ones(size(block_struct.data));

I2 = blockproc('mri.tif',[32 32],fun); figure;

imshow('mri.tif');

figure;

imshow(I2,[]);

I = imread('coloredChips.png');

fun = @(block_struct) block_struct.data(:,:,[2 1 3]); blockproc(I,[200 200],fun,'Destination','grb_peppers.tif'); figure;

imshow('coloredChips.png');

figure;

imshow('grb_peppers.tif');

I = imread('liftingbody.png');

I = im2double(I);

T = dctmtx(8);

dct = @(block_struct) T * block_struct.data * T';

B = blockproc(I,[8 8],dct);

mask=[1 1 1 0 1 0 0 0

1 1 1 0 0 0 0 0

1 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0];

B2 = blockproc(B,[8 8],@(block_struct) mask .* block_struct.data); invdct = @(block_struct) T' * block_struct.data * T;

I2 = blockproc(B2,[8 8],invdct);

imshow(I), figure, imshow(I2)

六、实验体会

这次实验过程中,我掌握了MATLAB的基本应用方法,熟悉了MATLAB 的4个内置函数:clc, clear, close 以及cputime函数。同时我也掌握了MATLAB空间变换--图像插值、缩放、旋转和MATLAB相邻区和块的处理-滑动窗和图像块操作。提高了自己的实践操作能力,增加了对数字图像处理的认识,并且培养了自己的学习兴趣。

11

相关文档
最新文档