matlab数字图像处理实验报告

该实验报告详细介绍了MATLAB在数字图像处理中的应用,包括图像读取、显示、转换、运算以及滤波等操作。实验内容涵盖了图像的代数运算、滤波、增强、边缘检测、恢复和分割等技术,使用了如imread、imshow、imwrite、imadjust、histeq、imfilter等关键函数,展示了MATLAB在图像处理中的强大功能。
摘要由CSDN通过智能技术生成

MATLAB数字图像处理仿真系统

实验一 常用MATLAB图像处理命令

一、实验目的

1、熟悉并掌握MATLAB工具的使用;

2、实现图像的读取、显示、代数运算和简单变换。

二、实验环境

MATLAB 6.5以上版本、WIN XP或WIN2000计算机

三、常用函数

  • 读写图像文件

1 imread

imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif')

2 imwrite

imwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’)

3 imfinfo

imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif')

  • 图像的显示

1 image

image函数是MATLAB提供的最原始的图像显示函数,如:

a=[1,2,3,4;4,5,6,7;8,9,10,11,12];

image(a);

2 imshow

imshow函数用于图像文件的显示,如:

i=imread('e:\w01.tif');

imshow(i);

title(‘原图像’)%加上图像标题

3 colorbar

colorbar函数用显示图像的颜色条,如:

i=imread('e:\w01.tif');

imshow(i);

colorbar;

4 figure

figure函数用于设定图像显示窗口,如:figure(1); /figure(2);

5 subplot

把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。

Subplot(m,n,p)分成m*n个小窗口,在第p个窗口中创建坐标轴为当前坐标轴,用于显示图形。

6 plot

绘制二维图形

plot(y)

Plot(x,y)xy可以是向量、矩阵。

  • 图像类型转换

1 rgb2gray

把真彩图像转换为灰度图像

i=rgb2gray(j)

2 im2bw

通过阈值化方法把图像转换为二值图像

I=im2bw(j,level)

Level表示灰度阈值,取值范围0~1(即0.n),表示阈值取自原图像灰度范围的n%

3 imresize

改变图像的大小

I=imresize(j,[m n])将图像j大小调整为m行n列

  • 图像运算

1 imadd

两幅图像相加,要求同样大小,同种数据类型

Z=imadd(x,y)表示图像x+y

2 imsubstract

两幅图像相减,要求同样大小,同种数据类型

Z=imsubtract(x,y) 表示图像x-y

3 immultiply

Z=immultiply(x,y) 表示图像x*y

4 imdivide

Z=imdivide(x,y) 表示图像x/y


四、实验内容(请将实验程序填写在下方合适的位置,实验图像结果拷屏粘贴)


1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。

a=imread('f:\1.jpg')

i = rgb2gray(a)

I = im2bw(a,0.5)

subplot(3,1,1);imshow(a);title('原图像')

subplot(3,1,2);imshow(i);title('灰度图像')

subplot(3,1,3);imshow(I);title('二值图像')





v2-04a1fbb73c80e076851f3a195a0d8518_b.jpg



2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。

a=imread('f:\1.jpg')

A=imresize(a,[800 800])

b=imread('f:\2.jpg')

B=imresize(b,[800 800])

Z1=imadd(A,B)

Z2=imsubtract(A,B)

Z3=immultiply(A,B)

Z4=imdivide(A,B)

subplot(3,2,1); imshow(A);title('原图像A')

subplot(3,2,2); imshow(B);title('原图像B')

subplot(3,2,3); imshow(Z1);title('加法图像')

subplot(3,2,4); imshow(Z2);title('减法图像')

subplot(3,2,5); imshow(Z3);title('乘法图像')

subplot(3,2,6); imshow(Z2);title('除法图像')


v2-6033c8a884bb157fe1ebe01c14637920_b.jpg



  1. 对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。


a=imread('f:\1.jpg');

m = imadjust(a,[,],[0.5;1]) ;%图像变亮

n = imadjust(a,[,],[0;0.5]) ;%图像变暗

g=255-a;%负片效果

subplot(2,2,1);imshow(a);title('原图像')

subplot(2,2,2);imshow(m);title('图像变亮')

subplot(2,2,3);imshow(n);title('图像变暗')

subplot(2,2,4);imshow(g);title('负片效果')


v2-a3bf86dec0f0fccf420c3872b30c5aa2_b.jpg



4、熟悉数字图像处理常用函数的使用,调出帮助文档查看其各种不同用法。

方法:选择函数(函数所在区变暗),点右键弹出菜单,选择“Help on Selection”


五、实验总结


分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。

实验四 常用图像增强方法

一、实验目的

1、熟悉并掌握MATLAB图像处理工具箱的使用;

2、理解并掌握常用的图像的增强技术。

二、实验环境

MATLAB 6.5以上版本、WIN XP或WIN2000计算机

三、相关知识

1 imnoise

imnoise函数用于对图像生成模拟噪声,如:

i=imread('e:\w01.tif');

j=imnoise(i,'gaussian',0,0.02);模拟均值为0方差为0.02的高斯噪声,

j=imnoise(i,'salt&pepper', 0.04) 模拟叠加密度为0.04的椒盐噪声

2 fspecial

fspecial函数用于产生预定义滤波器,如:

h=fspecial('sobel');%sobel水平边缘增强滤波器

h=fspecial('gaussian');%高斯低通滤波器

h=fspecial('laplacian');%拉普拉斯滤波器

h=fspecial('log');%高斯拉普拉斯(LoG)滤波器

h=

  • 36
    点赞
  • 303
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值