多媒体图像处理第1次实验报告

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

实验一 Matlab图像处理基础

一、实验目的

1.了解Matlab的基本功能及操作方法

2.练习图像读写和显示函数的使用方法

3.掌握Matlab支持的五类图像的显示方法(灰度、索引、黑白、彩色等)

4.熟悉常用的图像文件格式与格式转换;

二、实验内容

1. 图像的读写

A)图像读

RGB = imread('ngc6543a.jpg');

imshow(RGB);

B)图像写

先从一个.mat 文件中载入一幅图像,然后利用图像写函数imwrite,创建一个.bmp文件,并将图像存入其中。

load clown;

whos;

imwrite(X,map,'clown.bmp');

imshow('clown.bmp');

C)图像文件格式转换

bitmap = imread('clown.bmp','bmp'); imwrite(bitmap,'clown.png','png'); imshow('clown.png');

转换前clown.bmp图像如下:

转换后.png格式的图像如下:

D)图像综合操作

利用matlab提供的函数将图像读入;编写程序实现对给定图像进行一定比例的放大和缩小处理,在Mfile编辑器中写入以下程序,全速执行:

I=imread('lena.tif'); %读入图像

J = imresize(I,10); %放大10倍

K = imresize(I,0.1); %缩小10倍

L=imrotate(I,-10,'bilinear','crop'); %逆时针旋转10°

subplot(2,2,1),imshow(I),title('原图'); %原图

subplot(2,2,2),imshow(J),title('放大10'); %放大10倍

subplot(2,2,3),imshow(K),title('缩小0.1'); %缩小10倍

subplot(2,2,4),imshow(L),title('逆时针旋转10°'); %逆时针转10°

图像处理结果如下:

2. 图像显示

E)二进制图像的显示

BW1=zeros(20,20); %创建仅包含0/1的双精度图像BW1(2:2:18,2:2:18)=1;

imshow(BW1,'notruesize');

BW1图像显示如下:

whos

BW2=uint8(BW1);

figure,imshow(BW2,'notruesize');

BW2图像显示如下:

BW3=BW2~=0; %逻辑标志置为on figure,imshow(BW3,'notruesize')

BW3图像显示如下:

whos

BW=imread('circles.png');

imshow(BW);

BW图像显示如下:

figure,imshow(~BW);

BW图像取反显示如下:

figure,imshow(BW,[1 0 0;0 0 1]); BW图像以特定颜色显示如下:

F)灰度图像的显示

I=imread('testpat1.tif');

J=filter2([1 2;-1 -2],I);

imshow(I)

figure,imshow(J,[])

图像I显示如下:

图像J显示如下:

G)索引图像的显示

load clown %装载一幅图像

imwrite(X,map,'clown.bmp'); %保存为bmp文件imshow(X)

imshow(X,map)

H)RGB图像的显示

I=imread('flowers.tif'); imshow(I)

图像I显示如下:

RGB=imread('ngc6543a.jpg');

figure,imshow(RGB)

图像RGB显示如下:

imshow(I(:,:,3)) % 显示第3个颜色分量

图像I的第3个分量显示如下:

I)多帧图像的显示

mri=uint8(zeros(128,128,1,27)); % 27帧文件mri.tif初始化for frame=1:27

[mri(:,:,:,frame),map]=imread('mri.tif',frame); % 读入每一帧end

imshow(mri(:,:,:,3),map); % 显示第3帧

figure,imshow(mri(:,:,:,6),map); % 显示第6帧

figure,imshow(mri(:,:,:,10),map); % 显示第10帧

figure,imshow(mri(:,:,:,20),map); % 显示第20帧

J)显示多幅图像

[X1,map1]=imread('forest.tif');

[X2,map2]=imread('trees.tif');

subplot(1,2,1),imshow(X1,map1);

subplot(1,2,2),imshow(X2,map2)

subplot(1,2,1),subimage(X1,map1)

subplot(1,2,2),subimage(X2,map2)

三、思考题

1.简述MatLab软件的特点。

1)可扩展性:Matlab最重要的特点是易于扩展,它允许用户自行建立指定功能的M文件。

对于一个从事特定领域的工程师来说,不仅可利用Matlab所提供的函数及基本工具箱函数,还可方便地构造出专用的函数,从而大大扩展了其应用范围。

2)高效性:Matlab语句功能十分强大,一条语句可完成十分复杂的任务。它大大加快了

工程技术人员从事软件开发的效率。据MathWorks公司声称,Matlab软件中所包含的Matlab源代码相当于70万行C代码。

3)易学易用性:Matlab不需要用户有高深的数学知识和程序设计能力,不需要用户深刻

了解算法及编程技巧。

相关文档
最新文档