当前位置:文档之家› matlab在数字图像处理中的应用(1)

matlab在数字图像处理中的应用(1)


● 注意:图像文件的扩展名不要轻易修改,否则不能使用 注意:图像文件的扩展名不要轻易修改,
2012-4-8 27
主要内容
1 2 3 4
Matlab简介 简介 Matlab中常用的基本命令 中常用的基本命令 图像处理基本知识 Matlab中图像处理的基本操作
2012-4-8
28
图像基本操作
图像文件的读取 A=imread(‘文件名’,‘文件格式’) [X,map]=imread(‘文件名’,‘文件格式’) 图像文件的写入 imwrite(A,‘文件名’,‘文件格式’) imwrite(X,map,‘文件名’,‘文件格式’)
2012-4-8 7
Matlab 中常用的基本命令
特殊矩阵的生成 直接调用 MATLAB 的函数生成。 用函数zeros生成全0矩阵: A=zeros(m,n) 用函数ones生成全1矩阵: A=ones(m,n) 用函数eye生成单位阵: A=eye(m,n) 用函数rand生成随机矩阵: A=rand(m,n)
2012-4-8
16
Matlab 中常用的基本命令
脚本文件和函数文件的本质差异
脚本文件
函数文件
定义行


输入/输出变量


数据传送
直接访问工作空 输入变量获取数据, 间中的所有变量 输出变量提交数据
17
2012-4-8
Matlab 中常用的基本命令
注意: 注意: 自己编写函数时,所用的函数名应和保存 的m文件文件名相同。 分清矩阵相乘和点乘的区别。 注意文件命名,必须以字母开头 。
2012-4-8
5
6
9
Matlab 中常用的基本命令
(2) 矩阵运算 基本运算:矩阵的加、减、乘、除、乘方以及矩 基本运算 阵的点乘、点除、点乘方等,其主要特点是通过 MATLAB 提供的基本运算符+、-、*、/(\)、^ 等即可完成。 函数运算:包括sin,cos,abs,max,sum等。 函数运算
2012-4-8 8
Matlab 中常用的基本命令
访问矩阵中的元素
例如对例1-1中的矩阵A=[1,2,3;4,5,6;7,8,9],如果输入 A(4) A(1,2) 结果为:ans = 2 结果为:ans = 2
可见矩阵是按列存储的。 若输入A(1,2)=6,显示结果为: A= 1 6 3 4 5 6 7 8 9 若要选取A的第二行,可以输入A(2,:) ,则显示 ans = 4
Matlab 图像处理简介
王殿伟 wangdianwei@ 通信与信息工程学院
主要内容
1 2 3 4
Matlab简介 Matlab中常用的基本命令 中常用的基本命令 图像处理基本知识 Matlab中图像处理的基本操作 中图像处理的基本操作
2012-4-8
2
Matlab 简介
2012-4-8
10
Matlab 中常用的基本命令
例 1-2:矩阵的基本运算。 A=eye(3); B=[9,8,7;6,5,4;3,2,1]; C=A+B % 计算两个矩阵的和 D=B' % 计算矩阵B的转置 E=A*D % 做矩阵乘法,必须要满足矩阵乘法 % 的基本要求 F=det(A) % 求E的行列式值 问题:设有矩阵A和B,试问A*B和A.*B的区别? size(A)的用法
2012-4-8 26
Matlab支持的图像格式 支持的图像格式
文件 .GIF . BMP . TIF . JPG . TGA . PCD 颜色与分辨率 256 / 96dpi 256 ~ 224 / * dpi 256 ~ 232 / * dpi 216 ~ 232 / * dpi 256 ~ 224 / 96dpi 216 ~ 232 / * dpi 用途 用于动画、多媒体程序界面, 用于动画、多媒体程序界面,网页界面 用于Windows环境下的任何场合 环境下的任何场合 用于 用于专业印刷 用于数字图片保存、 用于数字图片保存、传送 用于专业动画影视制作 用于PHOTO CD 用于
2012-4-8
29
图像基本操作
查询图像文件信息 imfinfo(‘文件名’,文件格式) 显示图像 imshow(X, map) 需要同时显示多幅图像,使用figure语句,重新打开一个图 像显示窗口。 显示直方图 imhist(I,n) imhist(X, map)
2012-4-8
30
图像基本操作
2012-4-816色图
256色图
24位真彩色图25
图像类型转换函数
dither() :通过颜色抖动,把真彩色图像转换成索引图像或 灰度图像转换成二值图像 gray2ind() :将灰度图像转换成索引图像 grayslice() :通过设定的阈值将灰度图像转换成索引图像 im2bw() :通过设定亮度阈值将灰度、真彩色、索引图像 转换成二值图像 ind2gray() :将索引图像转换成灰度图象 ind2rgb() :将索引图像转换成真彩色图像 rgb2gray(): 将真彩色图像转换成灰度图像 rgb2ind(): 将真彩色图像转换成索引图象
例1-4 i=imread('LENA256.bmp'); subplot(1,2,1); imshow(i); subplot(1,2,2); imhist(i)
2012-4-8
31
图像的代数运算
imadd 格式:Z=imadd(X,Y). 其中Z=X+Y。 例1-5 增加图像的亮度 RGB=imread('onion.png'); RGB2=imadd(RGB,50); subplot(1,2,1),imshow(RGB); subplot(1,2,2),imshow(RGB2);
2012-4-8 3
Matlab 主要特点
把MATLAB的应用转到 带有编译器的C和C++ 支持来自文件和外 部设备的输入数据 ,且支持用低标准 的文件的输入输出 图形用户界面 设计的工具 可结合一些外部应用程序, 包括C、C++、Fortran、 Java、COM部分和Excel 快速准确的数字运算
12
Matlab 中常用的基本命令
循环结构 for循环 for 循环变量 = 起始值: 步长: 终止值 循环体 end while循环 while 表达式 循环体 end
2012-4-8 13
Matlab 中常用的基本命令
分支结构 if 语句
格式一: if 逻辑表达式 执行组 end 格式二: if 逻辑表达式 执行组1 else 执行组2 end 格式三: if 逻辑表达式1 执行组1 elseif 逻辑表达式2 执行组2 …… else 执行组n end
2012-4-8
32
图像的代数运算
immultiply 例1-7 I=imread('moon.tif'); J=immultiply(I,1.2); K=immultiply(I,0.6); imsubtract 两幅图像相减或者一幅图 像除以常数 imdivide 两幅图像相除或者一幅图 像除以常数 imcomplement 图像求补 imlincomb 多幅图像进行线性组合
2012-4-8 23
Matlab 中的图像类型
二值图像:像素值为0或1。 二值图像 灰度图像:每个像素由一个量化的灰度值来描述。 灰度图像 uint8,uint16,double的灰度图像
二ห้องสมุดไป่ตู้图
2012-4-8
灰度图
24
Matlab 中的图像类型
RGB图像 图像:M*N的图像需要三维矩阵(大小N*M*3)存储。 图像 索引图像: 索引图像:包含一个数据矩阵X和一个调色板矩阵map。 数据矩阵为double或uint8。 调色板矩阵为double型矩阵,值域为[0,1]。大小m*3(m表 示颜色数目),每一行指定一个颜色的R、G、B分量。 多帧图像序列: 多帧图像序列:4维数组,增加:帧号。
MATLAB是 Matrix Laboratory 的简称,是美国 MathWorks公司出品的商业数学软件,用于算法开发、数 据可视化、数据分析以及数值计算的高级技术计算语言和 交互式环境,主要包括 MATLAB 和 Simulink 两大部分。 MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、 创建用户界面、连接其他编程语言的程序等,主要应用于 工程计算、控制设计、信号处理与通讯、图像处理、信号 检测、金融建模设计与分析等领域。 它的基本数据单位是矩阵。它的指令表达式与数学、工程 中常用的形式十分相似,故用它来解决问题比用C、 Fortran等语言完成相同的事情简捷的多。
2012-4-8
18
Matlab 程序调试
删除句尾分号 适当位置加上pause或keyboard语句 灵活运用%,注释出错行 使用Matlab调试器,设置断点,或单步执行
2012-4-8
19
主要内容
1 2 3 4
Matlab简介 简介 Matlab中常用的基本命令 中常用的基本命令
图像处理基本知识
2012-4-8 11
Matlab 中常用的基本命令
(3) 程序设计基础 数据的输入/输出 数据的输入 输出 input函数:用于向计算机输入一个参数 A=input( A=input(提示信息, 选项) , ) disp函数:在命令窗口输出变量的值 A=‘hello’; disp(A)
2012-4-8
... f1 j ... f1N ... f2 j ... f2N ... ... ... ... ... fij ... fiN ... ... ... ... ... fMj ... fMN
2012-4-8
22
Matlab中图像的数据类型 中图像的数据类型
Matlab中图像处理的基本操作 中图像处理的基本操作
相关主题