您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页Matlab图像处理实验指导书(1-3)(精)

Matlab图像处理实验指导书(1-3)(精)

来源:百家汽车网


河南工业大学《数字图像处理》课程实验指导书

信息科学与工程学院

2011年3月

实验一 Matlab图像显示方法

一、实验目的

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

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

3.掌握Matlab支持的五类图像的显示方法

二、实验内容

1.图像的读写%matlab自带图像在安装路径下\oolbox\\images\\imdemos

A图像读

RGB = imread('ngc6543a.jpg';

B图像写

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

中。

load clown

whos

imwrite(X,map,'clown.bmp'

C图像文件格式转换

bitmap = imread('clown.bmp','bmp';

imwrite(bitmap,'clown.png','png';

2.图像显示

A二进制图像的显示

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

BW1(2:2:18,2:2:18=1;

imshow(BW1,'notruesize'; %double类型[0,1]

whos

BW2=uint8(BW1;

figure,imshow(BW2,'notruesize'

figure,imshow(BW2,[],'notruesize' %uint8类型[0,255]

BW3=BW2~=0; %逻辑标志置为on

figure,imshow(BW3,'notruesize'

whos

B灰度图像的显示

I=imread('spine.tif';

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

imshow(I,[]

figure,imshow(J,[]

C索引图像的显示

load clown %装载一幅图像

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

imshow(X

imshow(X,map

DRGB图像的显示

I=imread('trees.tif';

imshow(I

RGB=imread('ngc6543a.jpg';

figure,imshow(RGB

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

E多帧图像的显示

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

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

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

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

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

figure;

hold on;

for frame=1:27

hold on;imshow(mri(:,:,:,frame,map; % 读入每一帧

pause(0.1

end

F显示多幅图像

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

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

figure;

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

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

figure;

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

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

三、思考题:

1.图像显示时,若不带参数’notruesize’,显示效果如何?

2.如何显示RGB图像的某一个颜色分量?

3.如何显示多帧图像的所有帧?如何根据多帧图像创建电影片段?%pause(n

实验二图像变换

一、实验目的

1.了解傅立叶变换及离散余弦变换在图像处理中的应用

二、实验内容

1.傅立叶变换

A绘制一个二值图像矩阵,并将其傅立叶函数可视化。

f=zeros(30,30;

f(5:24,13:17=1;

figure;imshow(f,'notruesize'

F=fft2(f;

F2=log(abs(F;

figure,imshow(F2,[-1 5],'notruesize';colormap(jet;

F=fft2(f,256,256; %零填充为256×256矩阵

figure,imshow(log(abs(F,[-1 5],'notruesize';colormap(jet;

F2=fftshift(F; %将图像频谱中心由矩阵原点移至矩阵中心

figure,imshow(log(abs(F2,[-1 5],'notruesize';colormap(jet;

B利用傅立叶变换分析两幅图像的相关性,定位图像特征。读入图像

‘cameraman.tif’,抽取其中的字母‘a’。

bw=imread('cameraman.tif';

a=bw(59:71,81:91;

figure;imshow(bw;

figure,imshow(a;

C=real(ifft2(fft2(bw.*fft2(rot90(a,2,256,256;%求相关性

figure,imshow(C,[];

thresh=max(C(:;

figure,imshow(C>thresh-10

figure,imshow(C>thresh-15

2.离散余弦变换(DCT

A使用dct2对图像‘autumn.tif’进行DCT变换。

RGB=imread('autumn.tif';

河南工业大学 《数字图像处理》课程实验指导书 figure;imshow(RGB I=rgb2gray(RGB; %转换为灰度图像 figure,imshow(I J=dct2(I; figure,imshow(log(abs(J,[],colormap(jet(;colorbar; B 将上述 DCT 变换结果中绝对值小于 10 的系数舍弃,使用 idct2 重构图像并 与原图像比较。 RGB=imread('autumn.tif'; I=rgb2gray(RGB; %转换为灰度图像 J=dct2(I; figure,imshow(I K=idct2(J; figure,imshow(K,[0 255] J(abs(J<10=0; %舍弃系数 K2=idct2(J; figure,imshow(K2,[0 255] C 利用 DCT 变换进行图像压缩。

I=imread('cameraman.tif';

I=im2double(I;

T=dctmtx(8;

B=blkproc(I,[8,8],'P1*x*P2',T,T'; mask=[1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 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]; B2=blkproc(B,[8 8],'P1.*x',mask; I2=blkproc(B2,[8 8],'P1*x*P2',T',T; imshow(I figure,imshow(I2 5

河南工业大学 《数字图像处理》课程实验指导书 实验三 图像运算 一、实验目的 1. 熟悉图像点运算和代数运算的实现方法 2. 了解图像几何运算的简单应用 3. 了解图像的邻域操作 二、实验内容 1. 图像点运算 读入图像‘rice.png’,通过图像点运算改变对比度。 rice=imread('rice.png'; subplot(131,imshow(rice I=double(rice; %转换为双精度类型 J=I*0.43+60; rice2=uint8(J; %转换为 uint8 subplot(132,imshow(rice2 J=I*1.5-60; rice3=uint8(J; %转换为 uint8 subplot(133,imshow(rice3 2. 图

像的代数运算 A 图像加法运算 I=imread('rice.png'; imshow(I J=imread('cameraman.tif'; figure,imshow(J

K=imadd(I,J;

figure,imshow(K

K2=imadd(I,J,'uint16';

figure,imshow(K2,[]

RGB=imread('trees.tif'; RGB2=imadd(RGB,50; imshow(RGB figure,imshow(RGB2 6

河南工业大学 《数字图像处理》课程实验指导书 RGB3=imadd(RGB,100; figure,imshow(RGB3 B 图像减法运算 I=imread('rice.png'; imshow(I background = imopen(I,strel('disk',15; %估计背景图像 figure, imshow(background; I2=imsubtract(I,background; figure, imshow(I2 C 图像乘法运算 %从原始图像中减去背景图像 I=imread('moon.tif'; J=immultiply(I,1.2; K=immultiply(I,0.5; imshow(I figure,imshow(J figure,imshow(K D *图像除法运算 3. 图像的几何运算 A 改变图像的大小 读入图像‘ic.tif’,改变图像大小,分别将原图像放大 1.5 倍和缩小 0.5 倍。 I=imread('pears.png'; J=imresize(I,1.25;

K=imresize(I,0.8;

imshow(I

figure,imshow(J

figure,imshow(K

Y=imresize(I,[100,150]; figure,imshow(Y B 旋转一幅图像 将上述图像顺时针和逆时针旋转任意角度,观察显示效果。 I=imread('peppers.png'; 7

河南工业大学 《数字图像处理》课程实验指导书 J=imrotate(I,30,'bilinear'; J1=imrotate(I,30,'bilinear','crop'; imshow(I figure,imshow(J figure,imshow(J1 J2=imrotate(I,-15,'bilinear'; figure,imshow(J2 C 图像剪切 通过交互式操作,从一幅图像中剪切一个矩形区域。 I=imread('peppers.png'; figure;imshow(I; I2=imcrop(I,[30 60 120 160]; figure,imshow(I2 4. *图像的邻域操作 读入图像‘tire.tif’,分别使用函数 nlfilter 和 blkproc 对图像进行滑动邻域操作和分 离邻域操作。 I=imread('tire.tif'; f=inline('max(x(:'; I2=nlfilter(I,[3 3],f; figure;imshow(I figure,imshow(I2 I=imread('tire.tif'; f=inline('uint8(round(mean2(x*ones(size(x'; %构造复合函数 I2=blkproc(I,[8 8],f; %分离邻域操作 figure;imshow(I figure,imshow(I2 %构造复合函数 %滑动邻域操作 8

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务